Python 2.7 和 M2Crypto - 导入错误
Python 2.7 and M2Crypto - ImportError
我正在使用 Python 2.7.10 并安装了 M2Crypto。
像这样导入库:
from M2Crypto import RSA
但是当 运行 python 脚本时我得到这个错误:
ImportError: dlopen(/Users/shuma/Desktop/Projects/adastocks/vir_test/vir_test/lib/python2.7/site-packages/M2Crypto/_m2crypto.so, 2): Symbol not found: _ASN1_TIME_set_string
Referenced from: /Users/shuma/Desktop/Projects/adastocks/vir_test/vir_test/lib/python2.7/site-packages/M2Crypto/_m2crypto.so
Expected in: flat namespace
我正在使用 MacOSX 10.11.5 并尝试使用 brew 安装。但我仍然遇到同样的错误。
解决方案
这似乎适用于最新的 m2crypto 0.22.5。我还使用 m2crypto 0.22.3 对其进行了一次测试,并且似乎也可以正常工作。这里的OpenSSL版本是1.0.2d:
终于在我 Bash 的 El Capitan 上安装了 m2crypto。这是一个很长的命令,但它仅在 pip 安装期间更改 SWIG 和 clang 环境变量,以便 m2crypto 将获得所有 OpenSSL 要求,并且因为我使用的是虚拟 python 环境,所以我必须清除 dir 缓存。
env LDFLAGS="-L$(brew --prefix openssl)/lib" \
CFLAGS="-I$(brew --prefix openssl)/include" \
SWIG_FEATURES="-cpperraswarn -includeall -I$(brew --prefix openssl)/include" \
pip install m2crypto --no-cache-dir
我正在使用 Python 2.7.10 并安装了 M2Crypto。
像这样导入库:
from M2Crypto import RSA
但是当 运行 python 脚本时我得到这个错误:
ImportError: dlopen(/Users/shuma/Desktop/Projects/adastocks/vir_test/vir_test/lib/python2.7/site-packages/M2Crypto/_m2crypto.so, 2): Symbol not found: _ASN1_TIME_set_string
Referenced from: /Users/shuma/Desktop/Projects/adastocks/vir_test/vir_test/lib/python2.7/site-packages/M2Crypto/_m2crypto.so
Expected in: flat namespace
我正在使用 MacOSX 10.11.5 并尝试使用 brew 安装。但我仍然遇到同样的错误。
解决方案
这似乎适用于最新的 m2crypto 0.22.5。我还使用 m2crypto 0.22.3 对其进行了一次测试,并且似乎也可以正常工作。这里的OpenSSL版本是1.0.2d:
终于在我 Bash 的 El Capitan 上安装了 m2crypto。这是一个很长的命令,但它仅在 pip 安装期间更改 SWIG 和 clang 环境变量,以便 m2crypto 将获得所有 OpenSSL 要求,并且因为我使用的是虚拟 python 环境,所以我必须清除 dir 缓存。
env LDFLAGS="-L$(brew --prefix openssl)/lib" \
CFLAGS="-I$(brew --prefix openssl)/include" \
SWIG_FEATURES="-cpperraswarn -includeall -I$(brew --prefix openssl)/include" \
pip install m2crypto --no-cache-dir