9

実行時にいくつかの動的ライブラリにリンクする必要がある Python 拡張モジュールがあるため、それらを探す場所を伝える必要があります。setup.py で runtime_library_dirs を指定してこれを行っています。これは Linux では問題なく動作しますが、Mac では効果がないようです。モジュールをインポートしようとすると ImportError が発生します。これを解消する唯一の方法は、python を起動する前にライブラリ ディレクトリを DYLD_LIBRARY_PATH に追加することです。これを機能させるにはどうすればよいですか?

4

2 に答える 2

1

拡張機能がリンクしているライブラリを確認できます

otool -L pyext.so

拡張機能がシステム上の間違ったバージョンのライブラリにリンクしているという問題がありました。その場合、install_name_tool を使用して、ライブラリへのパスを直接変更しました。例えば、

install_name_tool -change /wrong/libfoo.dylib /right/libfoo.dylib pyext.so
于 2014-06-10T01:17:43.273 に答える