2012-03-26 16 views
5

Possible Duplicate:
Installing h5py on OS Xh5py dà l'errore dopo l'installazione

Io sto cercando di ottenere h5py a lavorare sul mio OS X Lion 10.7.3 Macbook Pro. Ha funzionato prima ma in qualche modo è stato disinstallato e non riesco a installarlo di nuovo. Sembra che abbia a che fare con l'installazione di XCode 4.3, ma non ne sono sicuro.

Durante l'importazione h5py, ottengo il seguente errore:

>>> 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 

Credo che abbia qualcosa a che fare con il HDF5-biblioteca. Non era ancora installato, quindi l'ho installato prima usando

brew install hdf5 

Questo non ha dato errori. Ma il seguente avvertimento alla fine. che credo sia importante:

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) 

Sono sicuro al 100% che cosa questo significa, ma credo che questa libreria è compilato per un'architettura i386, c'è però più file in questa directory che non si lamenta:

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 

Più tardi ho anche compilato la fonte me stesso, scaricato dal gruppo-sito HDF5 (http://www.hdfgroup.org/HDF5/). Utilizzando la seguente configure-line, per assicurarsi che rende le librerie condivise che ho aggiunto --enable-shared e disabili 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 

Ho rimosso sia h5py e la biblioteca HDF5 e reinstallato un paio di volte (sia compilazione h5py me stesso, come usare pip e easy_install), ma quello non sembrava aiutare.

Inoltre ho installato h5py utilizzando la build che ho appena fatto con questo comando:

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

ho anche aggiornato il mio NumPy ed impianti SciPy alle versioni più recenti.

risposta

6

Da una nuova installazione di Mac OS X Lion, quello che ho dovuto fare è la seguente:

  • Installare Xcode con gli strumenti della riga di comando
  • Installare Homebrew
  • Dillo Homebrew dove Xcode è (xcode-select ...)

Poi ho potuto:

$ brew install hdf5 

Non si collegava correttamente, perché il mio /usr/local/lib non era scrivibile. Controllare brew doctor per vedere se ci sono dei pacchetti non collegati:

$ 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 

così ho fatto il dir scrivibile e utilizzati

$ brew link hdf5 
$ brew link szip 

Poi ho potuto fare

$ sudo pip install h5py 

E presto.

>>> import h5py 
>>> 
Problemi correlati