2017-01-26 12 views
1

私は通常のマシンで動作するコードをコード化しています。Cythonで作成した.soファイルをインポートすると、ImportErrorが発生します。... ...未定義シンボル

しかし、私はそれを転送し、別のマシン上で実行すると動作しません。私のマシンはUbuntuを実行していて、他のマシンはDocker内でUbuntuを実行しています。

エラーは次のとおりです。

from myFile import myFunction 
ImportError: /myFile.so: undefined symbol: PyFPE_jbuf 

ドッカー環境は私のローカルマシン上とまったく同じ依存関係を設定されているので、これが起こっている理由を私は理解することはできません!

+0

あなたのマシンとDockerシステムで同じリリースのUbuntuを使用していますか?同じバージョンのPython? –

+0

はい、16.04 Ubuntu、64ビット、Python 3.5.2です。同じリストにあるpip install -r requirements.txtを使ってください。 – tombird

答えて

1

このエラーはいくつかの科学的Pythonプロジェクトhttps://github.com/scikit-learn/scikit-learn/issues/7542https://github.com/automl/auto-sklearn/issues/101で参照されており、NumPy、Cython、または異なるC++コンパイラの複数のインストールに関連しているようです。

のパッケージはありません。PYTHONPATHの環境変数は設定されておらず、システムのPythonとシステムコンパイラのみが設定されています。次に、1つのエラーの代わりに完全バックトレースも指定します。

+0

'〜/ .local'には、python 2.7の下にscipyパッケージがいくつかありました。しかし、私はそれらを削除した後、コードはまだ私の通常のマシンで動作します。いずれのマシンも、環境変数として設定された 'PYTHONPATH'を持っていません。 これらの問題を回避するために、私は両方の環境に仮想環境を使用しています。 – tombird

+0

完全なエラーログを表示できますか? –

関連する問題