我问一个问题在这里关于薄荷安装M2Crypto Python库。 这个问题被成功地回答,我是能够建立并安装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
如果有人知道如何解决这个错误,请让我知道。
它看起来就像是在M2Crypto 0.21.1推出的一个错误,有一个补丁这里是解决这个问题。
也许你可以尝试安装旧版本M2Crypto的(如0.20.1-1.1)或手动应用补丁的补丁命令。
两年后在m2crypto0.21.1问题仍然存在,所以这里是Ubuntu用户注释。 如果你不使用virtualenv
,您可以轻松地从Ubuntu的PPA而不是PIP安装m2crypto解决这个问题:
sudo pip uninstall m2crypto
sudo apt-get install python-m2crypto
好像这个问题被固定在PPA,而不是在项目的回购协议。 至少它为我工作在Ubuntu的12.04。
为了扩大上述答案:
这是M2Crypto 0.21.1的错误。 它与事实的SSLv2从OpenSSL的除去在许多平台上的它,理由是太不安全,尤其是Debian的[做1 ]和Ubuntu。
编译过程中未检测到的去除。 有修复此一个广泛使用的补丁。 我并入在Github的M2Crypto源代码本。
您可以使用画中画直接从像这样的库安装:
pip install -e git+https://github.com/Hypernode/m2crypto#egg=M2Crypto
对于那些谁想要检查(多出版)补丁,修复了这个: b432d36
编辑:移动到另一个位置