【发布时间】:2013-11-01 23:42:46
【问题描述】:
当我尝试使用 Python 2.7.5 导入 M2crypto 时,出现以下错误
ImportError: dlopen(/Users/user/.python-eggs/M2Crypto-0.21.1-py2.7-macosx-10.9-intel.egg-tmp/M2Crypto/__m2crypto.so, 2): Symbol not found: _PEM_read_bio_SSL_SESSION
Referenced from: /Users/user/.python-eggs/M2Crypto-0.21.1-py2.7-macosx-10.9-intel.egg-tmp/M2Crypto/__m2crypto.so
Expected in: flat namespace
in /Users/user/.python-eggs/M2Crypto-0.21.1-py2.7-macosx-10.9-intel.egg-tmp/M2Crypto/__m2crypto.so
我使用 brew 安装 OpenSSL,但我感觉这是导致错误的原因。我还尝试将 OpenSSL 的 brew 版本符号链接到默认值,但没有运气。有什么想法吗?
【问题讨论】:
-
您是在使用 Apple 预装的 Python 2.7.5,还是从 Python.org 安装了一个额外的,或者使用 Homebrew 或类似工具构建了一个?
-
另外,这是您从 10.8 升级到 10.9 的机器吗?如果是这样,您是否在升级之前酿造或以其他方式构建了这些部分?
-
这是一台升级的机器,我认为它是苹果预装的 Python 2.7。所有这些都在 virtualenv 中进行。升级到 10.9 后,所有自制软件都已完成。
-
不要只假设你有哪个 Python;如果有任何机会存在第三方 Python,则在 virtualenv 中
ls -l .Python并确保它指向/System下的内容。
标签: python openssl osx-mavericks m2crypto