无法导入适用于Mac OS X 10.10.5的M2Crypro

时间:2015-12-07 09:43:27

标签: macos python-2.7 m2crypto

我正在尝试安装M2Crypto,但sudo pip install M2Crypto发出以下错误:

850 warnings and 3 errors generated.
    error: command 'cc' failed with exit status 1

    ----------------------------------------
  Rolling back uninstall of M2Crypto
Command "/usr/bin/python -c "import setuptools, tokenize;__file__='/private/tmp/pip-build-uSFYDz/M2Crypto/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-Nsz5C6-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /private/tmp/pip-build-uSFYDz/M2Crypto

然后我安装了sudo pip install M2Crypto==0.21.1。它没有给出任何错误,但是当我尝试导入以下错误时:

>>> import M2Crypto
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Library/Python/2.7/site-packages/M2Crypto/__init__.py", line 24, in <module>
    import ASN1
  File "/Library/Python/2.7/site-packages/M2Crypto/ASN1.py", line 12, in <module>
    import BIO
  File "/Library/Python/2.7/site-packages/M2Crypto/BIO.py", line 221, in <module>
    class CipherStream(BIO):
  File "/Library/Python/2.7/site-packages/M2Crypto/BIO.py", line 227, in CipherStream
    SALT_LEN = m2.PKCS5_SALT_LEN
AttributeError: 'module' object has no attribute 'PKCS5_SALT_LEN'

任何帮助表示赞赏!!

1 个答案:

答案 0 :(得分:1)

INSTALL说明了Mac上的安装:

  

Apple没有提供更新版本的Mac OS X(至少   当然,自10.11)任何版本的OpenSSL,所以有必要   使用brew或类似的包装系统来安装第三方   包。一位Mac OS X用户建议,这一系列命令   在他的系统上给了他一份M2Crypto的工作副本:    $ brew install openssl && brew install swig $ brew --prefix openssl /usr/local/opt/openssl $ LDFLAGS="-L$(brew --prefix openssl)/lib" CFLAGS="-I$(brew --prefix openssl)/include" \ SWIG_FEATURES="-I$(brew --prefix openssl)/include" \ pip install m2crypto

我担心完全自动pip安装不起作用 ATM。任何合并请求找到OpenSSL的现有安装,其中 将在Mac上进行测试,值得庆幸的是。