4

MintにM2Cryptopythonライブラリをインストールすることに関してここで質問しました。その質問にうまく答えられ、M2Cryptoをビルドしてインストールすることができました。ただし、Python内では使用できません。モジュールをインポートしようとすると、次のエラーが発生します。

>>> 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

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

4

3 に答える 3

16

2年後もm2crypto0.21.1の問題はまだ存在しているので、Ubuntuユーザー向けのメモを以下に示します。を使用していない場合はvirtualenv、pipの代わりにUbuntuPPAからm2cryptoをインストールすることで簡単に修正できます。

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

問題はPPAで修正されているようですが、プロジェクトのリポジトリでは修正されていません。少なくとも、Ubuntu12.04ではうまくいきました。

于 2013-05-27T13:53:06.907 に答える
3

上記の答えを拡張するには:

これはM2Crypto0.21.1のバグです。これは、SSLv2が安全性が低すぎることを理由に多くのプラットフォーム(特にDebian [ 1 ]やUbuntu)でOpenSSLから削除されたという事実と関係があります。

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

次のように、pipを使用してリポジトリから直接インストールできます。

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

これを修正する(多く公開されている)パッチを調べたい人のために:b432d36

編集:別の場所に移動

于 2013-02-12T14:39:57.533 に答える
2

M2Crypto 0.21.1で導入されたバグのようですが、ここに問題を修正するパッチがあります。

たぶん、古いバージョンのM2Crypto(0.20.1-1.1など)をインストールするか、patchコマンドを使用してパッチを手動で適用することができます。

于 2012-05-11T14:45:20.597 に答える