0

最近、MATLAB から切り替えた ipython ノートブックから canopy に切り替えようとし始めました。私は、開発と研究のために matlab のような経験を得ることに取り組んでいます。

私はこれらのセットアップのほとんどをクロスプラットフォームで行っていますが、OS X から始めています。

canopy で使用するパッケージをインストールしようとしましたが、SimpleITK や VTK6.0 などのコンパイルが必要なものもあります。これらは両方とも、通常の python2.7 インストールで正常にインストールされましたが、キャノピー用にインストールするのに問題があります。現在、SimpleITK/Superbuild を CMAKE で再コンパイルして Python ラッパーを再作成する作業を行っています。Python 実行可能ファイル、インクルード dir、および python lib の場所を尋ねられます。canopy 内の sys.executable から実行可能な python を見つけ、'mdfind -name Python.h を含む include dir を見つけました。これがデフォルトの場所であることが判明しました。デフォルトの python lib を使用しました。

これらが

実行可能: /Users/jmerkow/Library/Enthought/Canopy_64bit/User/bin/python

インクルード: /System/Library/Frameworks/Python.framework/Headers

ライブラリ: /usr/lib/libpython2.7.dylib

しかし、make時に次のエラーが発生します。

AssertionError: Filename /Applications/Canopy.app/appdata/canopy-1.1.0.1371.macosx-x86_64/Canopy.app/Contents/lib/python2.7/os.py does not start with any of these prefixes: ['/Users/jmerkow/Library/Enthought/Canopy_64bit/User', '/Library/Python/2.7/site-packages', '/Users/jmerkow/Library/Enthought/Canopy_64bit/User/Extras/lib/python', '/Users/jmerkow/Library/Python/2.7/site-packages', '/Users/jmerkow/.local/lib/python/2.7/site-packages', '/Users/jmerkow/Library/Python/2.7/lib/python/site-packages']
ERROR
-- Installing numpy from  /Users/jmerkow/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/numpy to /numpy
ERROR
/bin/sh: ../Testing/Installation/PythonVirtualenv/bin/python: No such file or directory
make[5]: *** [lib/_SimpleITK.so] Error 127
make[4]: *** [Wrapping/CMakeFiles/SimpleITK_PYTHON.dir/all] Error 2
make[3]: *** [all] Error 2
make[2]: *** [SimpleITK-prefix/src/SimpleITK-stamp/SimpleITK-build] Error 2
make[1]: *** [CMakeFiles/SimpleITK.dir/all] Error 2
make: *** [all] Error 2

また、これを達成するのに役立つその他のヒントは大歓迎です

以下を編集

だから私は使用してコンパイルしようとしました:

/System/Library/Frameworks/Python.framework/Versions/Current/bin/python /System/Library/Frameworks/Python.framework/Versions/Current/include/python2.7/ /System/Library/Frameworks/Python.framework/バージョン/現在/lib/libpython2.7.dylib

このコンパイルおよび作成された卵ファイルは、

SimpleITK-0.7.0.dev88_ge297c-py2.7-macosx-10.8-intel.egg

しかし、enpkg を使用すると次のエラーが発生します。

トレースバック (最後の最後の呼び出し): ファイル "/Users/jmerkow/Library/Enthought/Canopy_64bit/User/bin/enpkg"、10 行目、sys.exit(main()) ファイル "/Applications/Canopy.app/appdata /canopy-1.1.0.1371.macosx-x86_64/Canopy.app/Contents/lib/python2.7/site-packages/enstaller/main.py"、702 行目、メイン reqs.append(Req(name + ' ' + version)) ファイル "/Applications/Canopy.app/appdata/canopy-1.1.0.1371.macosx-x86_64/Canopy.app/Contents/lib/python2.7/site-packages/enstaller/resolve.py"、32 行目、 in init raise Exception("無効な要件: %r" % req_string) 例外: 有効な要件ではありません: 'SimpleITK 0.7.0.dev88_ge297c-py2.7-macosx-10.8-intel.egg'

easy_install を使用すると、次のエラーが発生します。

SimpleITK-0.7.0.dev88_ge297c-py2.7-macosx-10.8-intel.egg を処理中 '/Users/jmerkow/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/SimpleITK-0.7.0 を削除中.dev88_ge297c-py2.7-macosx-10.8-intel.egg' (およびその下のすべて) 作成 /Users/jmerkow/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/SimpleITK-0.7.0 .dev88_ge297c-py2.7-macosx-10.8-intel.egg SimpleITK-0.7.0.dev88_ge297c-py2.7-macosx-10.8-intel.egg を /Users/jmerkow/Library/Enthought/Canopy_64bit/User/lib/ に展開python2.7/site-packages SimpleITK 0.7.0.dev88-ge297c はすでに easy-install.pth でアクティブなバージョンです

インストール済み /Users/jmerkow/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/SimpleITK-0.7.0.dev88_ge297c-py2.7-macosx-10.8-intel.egg SimpleITK==0.7 の処理依存関係.0.dev88-ge297c SimpleITK==0.7.0.dev88-ge297c を検索しています カント ポストを読んでいます カント ポストを読んでいます カント ポストを読んでいますRequirement.parse('SimpleITK==0.7.0.dev88-ge297c') に適したディストリビューション

インストールしたように見えたので、インポートしようとしました:

SimpleITK のインポート

致命的な Python エラー: PyThreadState_Get: 現在のスレッドがありません

アボートトラップ: 6

4

1 に答える 1

0

システムのpython実行可能ファイル、ライブラリ、およびインクルードファイルを使用するようにSimpleITKを構成しました。ただし、Canopy ディストリビューションで実行しようとしています。それらはバイナリ互換性がなく、不一致によりそのタイプのプログラムが終了しました。

canopy python 実行可能ファイルが正しく見つかりました: /Users/jmerkow/Library/Enthought/Canopy_64bit/User/bin/python

ただし、PYTHON_INCLUDE_DIR と PYTHON_LIBRARY を一致させる必要があります。正しいパスを判断するには、次のコマンドを試してください。

find /Users/jmerkow/Library/Enthought/Canopy_64bit/ -name Python.h 検索 /Users/jmerkow/Library/Enthought/Canopy_64bit/ -name lib python*.dylib

于 2013-11-07T15:32:39.897 に答える