【问题标题】:problems installing M2Crypto on Mint: follow-up在 Mint 上安装 M2Crypto 的问题:跟进
【发布时间】:2012-05-20 03:41:50
【问题描述】:

我问了一个关于在 Mint 中安装 M2Crypto python 库的问题here。这个问题得到了成功的回答,我能够构建和安装 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

如果有人知道如何解决此错误,请告诉我。

【问题讨论】:

    标签: python linux ssl m2crypto linux-mint


    【解决方案1】:

    看起来这是 M2Crypto 0.21.1 中引入的一个错误,有一个 patch here 可以纠正这个问题。

    也许您可以尝试安装旧版本的 M2Crypto(如 0.20.1-1.1)或使用 patch 命令手动应用补丁。

    【讨论】:

    • 你能解释一下如何安装那个补丁吗?似乎没有任何解释。
    【解决方案2】:

    扩展上面的答案:

    这是 M2Crypto 0.21.1 中的一个错误。这与 SSLv2 在许多平台上被从 OpenSSL 中删除的事实有关,因为它太不安全了,特别是 Debian [1] 和 Ubuntu。

    在编译期间未检测到删除。有一个广泛可用的补丁可以解决这个问题。我将其合并到 Github 上的 M2Crypto 源代码中。

    您可以使用 pip 直接从存储库安装,如下所示:

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

    对于那些想要检查修复此问题的(大量发布的)补丁的人:b432d36

    编辑:移动到另一个位置

    【讨论】:

      【解决方案3】:

      两年后 m2crypto0.21.1 中的问题仍然存在,所以这里是给 Ubuntu 用户的注意事项。如果你没有使用virtualenv,你可以通过从 Ubuntu PPA 安装 m2crypto 而不是 pip 来轻松修复它:

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

      似乎问题在 PPA 中已解决,但在项目的存储库中未解决。至少它在 Ubuntu 12.04 对我有用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-05-11
        • 2013-06-20
        • 1970-01-01
        • 2014-03-03
        • 2020-05-31
        • 1970-01-01
        • 1970-01-01
        • 2014-12-09
        相关资源
        最近更新 更多