2012-03-26 50 views
5

Possible Duplicate:
Installing h5py on OS Xh5py cung cấp lỗi sau khi cài đặt

Tôi đang cố gắng làm việc trên OS X Lion 10.7.3 Macbook Pro. Nó đã làm việc trước nhưng bằng cách nào đó nó đã gỡ bỏ cài đặt và tôi không thể làm cho nó được cài đặt một lần nữa. Có vẻ như nó phải làm với cài đặt XCode 4.3, nhưng tôi không chắc chắn.

Khi nhập h5py, tôi nhận được lỗi sau:

>>> import h5py 


    Traceback (most recent call last): 

    File "<stdin>", line 1, in <module> 
    File "/Library/Python/2.7/site-packages/h5py/__init__.py", line 1, in <module> 
    from h5py import _errors 
ImportError: dlopen(/Library/Python/2.7/site-packages/h5py/_errors.so, 2): Symbol not found: _H5E_ALREADYEXISTS_g 
    Referenced from: /Library/Python/2.7/site-packages/h5py/_errors.so 
    Expected in: flat namespace 
in /Library/Python/2.7/site-packages/h5py/_errors.so 

Tôi đoán nó có cái gì để làm với HDF5-thư viện. Nó chưa được cài đặt, vì vậy tôi đã cài đặt nó trước tiên bằng cách sử dụng

brew install hdf5 

Điều này không có lỗi. Nhưng cảnh báo sau ở cuối. mà tôi đoán là quan trọng:

ld: warning: ignoring file ../hdf5-1.8.8/hdf5/lib/libhdf5.a, 
file was built for archive which is not the architecture being linked (i386) 

Tôi không chắc chắn 100% điều này có nghĩa, nhưng tôi đoán thư viện này được biên soạn cho một kiến ​​trúc i386, có tuy nhiên nhiều tập tin trong thư mục này nó không phàn nàn về:

libhdf5.la 
libhdf5.dylib -> libhdf5.7.dylib 
libhdf5.7.dylib 
libhdf5.settings 
libhdf5.a 
libhdf5_hl.la 
libhdf5_hl.dylib -> libhdf5_hl.7.dylib 
libhdf5_hl.a 
libhdf5_hl.7.dylib 

Sau đó, tôi cũng tự biên dịch nguồn, tải xuống từ trang web nhóm HDF5 (http://www.hdfgroup.org/HDF5/). Sử dụng cấu hình dòng sau đây, chắc chắn nó làm cho các thư viện chia sẻ tôi đã thêm enable-chia sẻ và tàn tật fortran:

./configure --with-zlib=/usr/local --disable-fortran 
--prefix=/usr/local/ --target=x86_64-apple-darwin 
-build=x86_64-apple-darwin --host=x86_64-apple-darwin 
--enable-shared --disable-production 

Tôi đã gỡ bỏ tất cả h5py và thư viện hdf5 và cài đặt lại cho họ một vài lần (cả biên dịch h5py bản thân mình, như sử dụng pip và easy_install), nhưng điều đó dường như không giúp đỡ.

Tôi cũng cài đặt h5py sử dụng xây dựng Tôi chỉ cần thực hiện sử dụng lệnh này:

python setup.py build --hdf5=../hdf5-1.8.8/hdf5 

Tôi cũng cập nhật NumPy của tôi và cài đặt scipy lên phiên bản mới nhất.

Trả lời

6

Từ một sạch sẽ cài đặt Mac OS X Lion, những gì tôi phải làm là như sau:

  • Cài đặt Xcode với các công cụ dòng lệnh
  • Cài đặt Homebrew
  • Nói Homebrew nơi Xcode là (xcode-select ...)

Sau đó, tôi có thể:

$ brew install hdf5 

Nó không liên kết đúng cách vì /usr/local/lib của tôi không thể ghi được. Kiểm tra brew doctor để xem nếu có bất kỳ gói bỏ liên kết:

$ brew doctor 
Warning: You have unlinked kegs in your Cellar 
Leaving kegs unlinked can lead to build-trouble and cause brews that depend on 
those kegs to fail to run properly once built. 

    hdf5 
    szip 

Vì vậy, tôi đã có thể ghi dir và sử dụng

$ brew link hdf5 
$ brew link szip 

Sau đó, tôi có thể làm

$ sudo pip install h5py 

Và mau.

>>> import h5py 
>>> 
Các vấn đề liên quan