0

私はOSXでPythonでpytablesと基盤となるHDF5ライブラリを動作させるのに苦労していたので、Enthoughtディストリビューションを試してみようと思いました(これにより、後でプラットフォーム間での展開も大幅に簡素化されます)。

64ビットOSX用にEPD7.3をインストールしました(10.8.2を実行しています)が、残念ながら成功しません。pytablesをロードしようとすると次のようになります...

In [4]: import tables
--------------------------------------------------------------------------- ImportError                               Traceback (most recent call last) /<ipython-input-4-389ecae14f10> in <module>()
----> 1 import tables

/Users/davidperry/Library/Python/2.7/lib/python/site-packages/tables/__init__.py in <module>()
     57 
     58 # Necessary imports to get versions stored on the Pyrex extension

---> 59 from tables.utilsExtension import getPyTablesVersion, getHDF5Version
     60 
     61 __version__ = getPyTablesVersion()

ImportError: dlopen(/Users/davidperry/Library/Python/2.7/lib/python/site-packages/tables/utilsExtension.so, 2): Symbol not found: _SZ_BufftoBuffCompress   Referenced from: /Users/davidperry/Library/Python/2.7/lib/python/site-packages/tables/utilsExtension.so Expected in: flat namespace  in /Users/davidperry/Library/Python/2.7/lib/python/site-packages/tables/utilsExtension.so

これは、HDF5に必要なライブラリであるszipが見つからないことを意味していると思いますか?それが実際にEPDから欠落している場合(奇妙に思えます...)、ソースからHDF5をビルドせずに自分でインストールできますか?それとも奇妙な場所にありますか?

4

1 に答える 1

1

まず、ご迷惑をおかけしましたことをお詫び申し上げます。

EPDからではなく、以前のインストールからpytablesをロードしているように見えます。PYTHONPATHは、ご使用の環境ではどのように見えますか?

通常、EPDは/Library/Frameworks/Python.framework/Versions/7.3のどこかにインストールされます。次は何をしますか?

PYTHONPATH= /Library/Frameworks/Python.framework/Versions/7.3/bin/python -c "import tables; print tables.__version__"

または(64ビットバージョン):

PYTHONPATH= /Library/Frameworks/EPD64.framework/Versions/7.3/bin/python -c "import tables; print tables.__version__"

「2.3.1」(EPDで利用可能な実際のテーブルバージョン)のようなものが返されるはずです。それが実際に機能する場合は、EPDを環境のデフォルトのPythonにしてください。これを利用できるようにするには、PATH/PYTHONPATH変数を調整する必要があります。

それでも機能しない場合は、次のことを試してみてください(32ビットに適合)。

 PYTHONPATH= /Library/Frameworks/EPD64.framework/Versions/7.3/bin/python -c "import sys; print sys.path"

出力を貼り付けますか?

于 2013-03-25T12:32:45.377 に答える