2012-03-26 24 views
5

Possible Duplicate:
Installing h5py on OS Xh5py da error después de la instalación

que estoy tratando de conseguir h5py a trabajar en mi OS X Lion 10.7.3 Macbook Pro. Ha funcionado antes, pero de alguna manera se desinstaló y no puedo volver a instalarlo. Parece que tiene que ver con la instalación de XCode 4.3, pero no estoy seguro.

Al importar h5py, me sale el siguiente error:

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

supongo que tiene algo que ver con la HDF5-biblioteca. Todavía no se ha instalado, por lo que lo instaló en primer lugar utilizando

brew install hdf5 

Esto dio ningún error. Pero la siguiente advertencia al final. que supongo que es 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) 

No estoy 100% seguro de lo que esto significa, pero supongo que esta biblioteca está compilado para una arquitectura i386, hay sin embargo más archivos en este directorio que no se queja:

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 

Más tarde también compilé la fuente yo misma, descargada del sitio web grupal HDF5 (http://www.hdfgroup.org/HDF5/). Usando la siguiente línea de configure-, para asegurarse de que hace las bibliotecas compartidas que he ido añadiendo --enable-shared y discapacitados 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 

He quitado tanto h5py y la biblioteca hdf5 y les vuelve a instalar un par de veces (tanto compilación h5py, como el uso de pip y easy_install), pero eso no parece ayudar.

También instalé h5py utilizando la construcción que acaba de hacer uso de este comando:

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

También he actualizado mi numpy e instalaciones SciPy a las últimas versiones.

Respuesta

6

Desde una instalación limpia de Mac OS X Lion, lo que tenía que hacer es lo siguiente:

  • Instalar Xcode con las herramientas de línea de comandos
  • Instalar Homebrew
  • Dile Homebrew donde Xcode es (xcode-select ...)

Entonces pude:

$ brew install hdf5 

No se vinculó correctamente, porque mi /usr/local/lib no se pudo escribir. Compruebe brew doctor para ver si hay algún paquete no ligados:

$ 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 

Hice, pues, el permiso de escritura dir y usados ​​

$ brew link hdf5 
$ brew link szip 

Entonces podría hacer

$ sudo pip install h5py 

Y listo.

>>> import h5py 
>>> 
Cuestiones relacionadas