2017-04-21 7 views
0

私はPython 2.7.10を使用しており、M2Cryptoをインストールしています。Python 2.7とM2Crypto - ImportError

次のようにライブラリをインポートする:

from M2Crypto import RSA 

が、Pythonスクリプトを実行しているとき、私はこのエラーを取得:

ImportError: dlopen(/Users/shuma/Desktop/Projects/adastocks/vir_test/vir_test/lib/python2.7/site-packages/M2Crypto/_m2crypto.so, 2): Symbol not found: _ASN1_TIME_set_string 
    Referenced from: /Users/shuma/Desktop/Projects/adastocks/vir_test/vir_test/lib/python2.7/site-packages/M2Crypto/_m2crypto.so 
    Expected in: flat namespace 

私はMacOSXの10.11.5を使用していますが、私は醸造してインストールしてみました。しかし、私はまだ同じエラーが発生します。

答えて

0

ソリューション

これは、最新のm2crypto 0.22.5で動作するようです。私はm2crypto 0.22.3と一度それをテストし、また動作するようです。ここのOpenSSLバージョンは1.0.2dです:

最後に、私のBashのEl Capitanにm2cryptoをインストールします。長いコマンドですが、pipインストール中にSWIGとclang環境変数を変更するだけで、m2cryptoはすべてのOpenSSL要件を取得します。仮想python環境を使用しているため、dirキャッシュをクリアする必要があります。明示的な使い方

env LDFLAGS="-L$(brew --prefix openssl)/lib" \ 
    CFLAGS="-I$(brew --prefix openssl)/include" \ 
    SWIG_FEATURES="-cpperraswarn -includeall -I$(brew --prefix openssl)/include" \ 
pip install m2crypto --no-cache-dir 
+0

'' env''が良いである、物事はもう少し明らかになりますが、そうでない場合、これは[ '' INSTALL.rst'']であり、まさにです(https://gitlab.com/ m2crypto/m2crypto/blob/master/INSTALL.rst#macosx)そうですか? – mcepl

+0

ええ、私にとっては、私はdirキャッシュをきれいにしてenvで実行しなければならなかった。 – SHUMAcupcake