2012-03-26 9 views
5

Possible Duplicate:
Installing h5py on OS Xh5py gibt Fehler nach der Installation

Ich versuche h5py zu bekommen auf meinem OS X Lion 10.7.3 Macbook Pro zu arbeiten. Es hat vorher funktioniert, aber irgendwie wurde es deinstalliert und ich kann es nicht wieder installieren. Es scheint, dass es mit der Installation von XCode 4.3 zu tun hat, aber ich bin mir nicht sicher.

Wenn h5py importieren, erhalte ich folgende Fehlermeldung:

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

Ich denke, es hat etwas mit der HDF5-Bibliothek zu tun hat. Es war noch nicht installiert, also installierte ich es zuerst unter Verwendung

brew install hdf5 

Dies ergab keine Fehler. Aber die folgende Warnung am Ende. die ich schätze, ist wichtig:

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) 

Ich bin nicht 100% sicher, was das bedeutet, aber ich denke, diese Bibliothek für eine i386-Architektur kompiliert wird, gibt es jedoch mehrere Dateien in diesem Verzeichnis ist es nicht bemängeln:

Später kompilierte ich auch die Quelle selbst, heruntergeladen von der HDF5-Gruppe-Website (http://www.hdfgroup.org/HDF5/). Mit Hilfe der folgenden configure-line, um sicherzustellen, dass es gemeinsam genutzte Bibliotheken macht ich --enable-shared und behinderte Fortran hinzugefügt:

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

ich beide h5py entfernt haben und die hdf5 Bibliothek und neu installiert sie ein paar Mal (beide Compilierung h5py selbst, wie mit pip und easy_install), aber das schien nicht zu helfen. gerade installiert h5py mit Ich habe mit diesem Befehl

ich den Build auch:

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

I aktualisiert auch meine numpy und scipy Installationen auf die neuesten Versionen.

Antwort

6

Von einer Neuinstallation von Mac OS X Lion, was ich hatte, ist folgendes zu tun:

  • Install Homebrew
  • Homebrew sagen, wo Xcode ist

    • Installieren Sie Xcode mit den Kommandozeilen-Tools (xcode-select ...)

    Dann könnte ich:

    $ brew install hdf5 
    

    Es wurde nicht richtig verbunden, weil meine /usr/local/lib nicht beschreibbar war. Prüfen brew doctor zu sehen, ob es irgendwelche nicht verknüpften Pakete sind:

    $ 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 
    

    So machte ich die dir beschreibbar und verwendet

    $ brew link hdf5 
    $ brew link szip 
    

    Dann könnte ich

    tun
    $ sudo pip install h5py 
    

    Und presto.

    >>> import h5py 
    >>>