Python 在Mint上安装M2Crypto时出现问题:后续
我问了一个关于在Mint中安装M2Crypto python库的问题。这个问题得到了成功的回答,我能够构建并安装M2Crypto。但是,我无法在Python中使用它。尝试导入模块时,出现以下错误:Python 在Mint上安装M2Crypto时出现问题:后续,python,linux,ssl,m2crypto,linux-mint,Python,Linux,Ssl,M2crypto,Linux Mint,我问了一个关于在Mint中安装M2Crypto python库的问题。这个问题得到了成功的回答,我能够构建并安装M2Crypto。但是,我无法在Python中使用它。尝试导入模块时,出现以下错误: >>> import M2Crypto Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/lib/python2.7/dist
>>> 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
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“/usr/local/lib/python2.7/dist packages/M2Crypto/_init__.py”,第22行,在
导入加密
ImportError:/usr/local/lib/python2.7/dist-packages/M2Crypto//uuu M2Crypto.so:未定义符号:SSLv2\u方法
如果有人知道如何解决此错误,请告诉我。看起来这是M2Crypto 0.21.1中引入的错误,有一个解决方法可以解决此问题
也许您可以尝试安装M2Crypto的旧版本(如0.20.1-1.1)或使用命令手动应用修补程序。要扩展上述答案: 这是M2Crypto 0.21.1中的一个错误。这与SSLv2在许多平台上被从OpenSSL中删除的事实有关,原因是它太不安全,尤其是Debian[]和Ubuntu 编译期间未检测到删除。有一个广泛可用的补丁可以修复这个问题。我在Github上将其合并到M2Crypto源代码中 您可以使用pip直接从存储库进行安装,如下所示:
pip install -e git+https://github.com/Hypernode/m2crypto#egg=M2Crypto
对于那些想要检查修复此问题的(大量发布的)修补程序的人:
编辑:移动到另一个位置两年后,m2crypto0.21.1中的问题仍然存在,因此这里是Ubuntu用户的注意事项。如果您没有使用
virtualenv
,您可以通过从Ubuntu PPA而不是pip安装m2crypto来轻松修复它:
sudo pip uninstall m2crypto
sudo apt-get install python-m2crypto
问题似乎在购电协议中得到了解决,但在项目回购协议中没有。至少在Ubuntu12.04上它对我有用 你能解释一下如何安装那个补丁吗?似乎没有任何解释。