2012-05-11 29 views
4

MintにM2Crypto pythonライブラリをインストールすることに関してhereという質問がありました。その質問はうまく答えられ、私はM2Cryptoを構築してインストールすることができました。しかし、私はPython内でそれを使用することはできません。モジュールをインポートしようとすると、次のエラーが発生します。MintにM2Cryptoをインストールする際の問題:フォローアップ

>>> import M2Crypto 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/usr/local/lib/python2.7/dist-packages/M2Crypto/__init__.py", line 22, in <module> 
    import __m2crypto 
ImportError: /usr/local/lib/python2.7/dist-packages/M2Crypto/__m2crypto.so: undefined symbol: SSLv2_method 

このエラーを解決する方法を知っている人は、私に知らせてください。

答えて

2

M2Crypto 0.21.1で導入されたバグのようですが、問題を修正するpatch hereがあります。

M2Cryptoの古いバージョン(0.20.1-1.1など)をインストールするか、patchコマンドで手動でパッチを適用してみてください。

+1

このパッチのインストール方法を教えてください。どこにも説明がないようです。 – ewok

3

上記の答えを展開するには

これはM2Crypto 0.21.1のバグです。これは、Debian [1]とUbuntuのように、SSLv2が多くのプラットフォーム上でOpenSSLから削除されたという事実と関係があります。

コンパイル時に削除が検出されません。これを修正する広く利用可能なパッチがあります。これをGithubのM2Cryptoソースコードに組み込みました。

あなたがそうのようなリポジトリから直接インストールするPIPを使用することができます:b432d36

編集:これを修正した(あまり公表)パッチを検査したい人のための

pip install -e git+https://github.com/Hypernode/m2crypto#egg=M2Crypto 

別に移動場所

15

2年後、m2crypto0.21.1の問題は依然として存在するので、ここではUbuntuユーザーのためのメモです。問題はPPAに固定されているよう

sudo pip uninstall m2crypto 
sudo apt-get install python-m2crypto 

はそうではなく、プロジェクトのレポで:あなたは virtualenvを使用していない場合は、簡単にピップの代わりにUbuntuのPPAからm2cryptoをインストールすることで、それを修正することができます。少なくとも、Ubuntu 12.04で私のために働いていました。

+1

これは私のために働いた唯一の答えです – dg123

+0

神に感謝、その答えが動作します。これは#1でなければなりません – wordsforthewise

+0

ありがとう、それはまだUbuntuで動作しています16.04.2 LTS – SeyfSV

関連する問題