pip 安装 m2crypto 错误

新手上路,请多包涵
$sudo pip3 install m2crypto
Collecting m2crypto
  Using cached M2Crypto-0.26.0.tar.gz
Requirement already satisfied: typing in /usr/local/lib/python3.5/dist-packages (from m2crypto)
Installing collected packages: m2crypto
  Running setup.py install for m2crypto ... error
    Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-ejd_4lk_/m2crypto/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-ecxgdei0-record/install-record.txt --single-version-externally-managed --compile:
    running install
    running build
    running build_py
    copying M2Crypto/BIO.py -> build/lib.linux-x86_64-3.5/M2Crypto
    copying M2Crypto/DH.py -> build/lib.linux-x86_64-3.5/M2Crypto
    copying M2Crypto/Rand.py -> build/lib.linux-x86_64-3.5/M2Crypto
    copying M2Crypto/ftpslib.py -> build/lib.linux-x86_64-3.5/M2Crypto
    copying M2Crypto/m2.py -> build/lib.linux-x86_64-3.5/M2Crypto
    copying M2Crypto/m2xmlrpclib.py -> build/lib.linux-x86_64-3.5/M2Crypto
    copying M2Crypto/callback.py -> build/lib.linux-x86_64-3.5/M2Crypto
    copying M2Crypto/EC.py -> build/lib.linux-x86_64-3.5/M2Crypto
    copying M2Crypto/m2urllib.py -> build/lib.linux-x86_64-3.5/M2Crypto
    copying M2Crypto/X509.py -> build/lib.linux-x86_64-3.5/M2Crypto
    copying M2Crypto/RSA.py -> build/lib.linux-x86_64-3.5/M2Crypto
    copying M2Crypto/ASN1.py -> build/lib.linux-x86_64-3.5/M2Crypto
    copying M2Crypto/m2crypto.py -> build/lib.linux-x86_64-3.5/M2Crypto
    copying M2Crypto/Err.py -> build/lib.linux-x86_64-3.5/M2Crypto
    copying M2Crypto/SMIME.py -> build/lib.linux-x86_64-3.5/M2Crypto
    copying M2Crypto/threading.py -> build/lib.linux-x86_64-3.5/M2Crypto
    copying M2Crypto/m2urllib2.py -> build/lib.linux-x86_64-3.5/M2Crypto
    copying M2Crypto/BN.py -> build/lib.linux-x86_64-3.5/M2Crypto
    copying M2Crypto/RC4.py -> build/lib.linux-x86_64-3.5/M2Crypto
    copying M2Crypto/util.py -> build/lib.linux-x86_64-3.5/M2Crypto
    copying M2Crypto/Engine.py -> build/lib.linux-x86_64-3.5/M2Crypto
    copying M2Crypto/six.py -> build/lib.linux-x86_64-3.5/M2Crypto
    copying M2Crypto/__init__.py -> build/lib.linux-x86_64-3.5/M2Crypto
    copying M2Crypto/EVP.py -> build/lib.linux-x86_64-3.5/M2Crypto
    copying M2Crypto/httpslib.py -> build/lib.linux-x86_64-3.5/M2Crypto
    copying M2Crypto/AuthCookie.py -> build/lib.linux-x86_64-3.5/M2Crypto
    copying M2Crypto/DSA.py -> build/lib.linux-x86_64-3.5/M2Crypto
    creating build/lib.linux-x86_64-3.5/M2Crypto/PGP
    copying M2Crypto/PGP/RSA.py -> build/lib.linux-x86_64-3.5/M2Crypto/PGP
    copying M2Crypto/PGP/PublicKey.py -> build/lib.linux-x86_64-3.5/M2Crypto/PGP
    copying M2Crypto/PGP/PublicKeyRing.py -> build/lib.linux-x86_64-3.5/M2Crypto/PGP
    copying M2Crypto/PGP/constants.py -> build/lib.linux-x86_64-3.5/M2Crypto/PGP
    copying M2Crypto/PGP/packet.py -> build/lib.linux-x86_64-3.5/M2Crypto/PGP
    copying M2Crypto/PGP/__init__.py -> build/lib.linux-x86_64-3.5/M2Crypto/PGP
    creating build/lib.linux-x86_64-3.5/M2Crypto/SSL
    copying M2Crypto/SSL/SSLServer.py -> build/lib.linux-x86_64-3.5/M2Crypto/SSL
    copying M2Crypto/SSL/TwistedProtocolWrapper.py -> build/lib.linux-x86_64-3.5/M2Crypto/SSL
    copying M2Crypto/SSL/ssl_dispatcher.py -> build/lib.linux-x86_64-3.5/M2Crypto/SSL
    copying M2Crypto/SSL/Checker.py -> build/lib.linux-x86_64-3.5/M2Crypto/SSL
    copying M2Crypto/SSL/timeout.py -> build/lib.linux-x86_64-3.5/M2Crypto/SSL
    copying M2Crypto/SSL/Cipher.py -> build/lib.linux-x86_64-3.5/M2Crypto/SSL
    copying M2Crypto/SSL/Connection.py -> build/lib.linux-x86_64-3.5/M2Crypto/SSL
    copying M2Crypto/SSL/Context.py -> build/lib.linux-x86_64-3.5/M2Crypto/SSL
    copying M2Crypto/SSL/cb.py -> build/lib.linux-x86_64-3.5/M2Crypto/SSL
    copying M2Crypto/SSL/__init__.py -> build/lib.linux-x86_64-3.5/M2Crypto/SSL
    copying M2Crypto/SSL/Session.py -> build/lib.linux-x86_64-3.5/M2Crypto/SSL
    running build_ext
    building 'M2Crypto._m2crypto' extension
    swigging SWIG/_m2crypto.i to SWIG/_m2crypto_wrap.c
    swig -python -D__x86_64__ -I/usr/include/python3.5m -I/usr/include -I/usr/include/x86_64-linux-gnu -includeall -modern -builtin -outdir /tmp/pip-build-ejd_4lk_/m2crypto/M2Crypto -o SWIG/_m2crypto_wrap.c SWIG/_m2crypto.i
    /usr/include/x86_64-linux-gnu/sys/cdefs.h:159: Warning 305: Bad constant value (ignored).
    /usr/include/x86_64-linux-gnu/bits/wchar.h:38: Warning 490: Fragment 'SWIG_From_wchar_t' not found.
    /usr/include/stdint.h:274: Warning 490: Fragment 'SWIG_From_wchar_t' not found.
    SWIG/_bio.i:64: Warning 454: Setting a pointer/reference variable may leak memory.
    SWIG/_rand.i:23: Warning 454: Setting a pointer/reference variable may leak memory.
    SWIG/_evp.i:184: Warning 454: Setting a pointer/reference variable may leak memory.
    SWIG/_dh.i:36: Warning 454: Setting a pointer/reference variable may leak memory.
    SWIG/_rsa.i:43: Warning 454: Setting a pointer/reference variable may leak memory.
    SWIG/_dsa.i:31: Warning 454: Setting a pointer/reference variable may leak memory.
    SWIG/_ssl.i:237: Warning 454: Setting a pointer/reference variable may leak memory.
    SWIG/_ssl.i:238: Warning 454: Setting a pointer/reference variable may leak memory.
    SWIG/_x509.i:335: Warning 454: Setting a pointer/reference variable may leak memory.
    SWIG/_pkcs7.i:44: Warning 454: Setting a pointer/reference variable may leak memory.
    SWIG/_pkcs7.i:44: Warning 454: Setting a pointer/reference variable may leak memory.
    SWIG/_util.i:11: Warning 454: Setting a pointer/reference variable may leak memory.
    SWIG/_ec.i:111: Warning 454: Setting a pointer/reference variable may leak memory.
    SWIG/_engine.i:168: Warning 454: Setting a pointer/reference variable may leak memory.
    creating build/temp.linux-x86_64-3.5
    creating build/temp.linux-x86_64-3.5/SWIG
....
At top level:
    SWIG/_m2crypto_wrap.c:3993:13: warning: ‘lock_count’ defined but not used [-Wunused-variable]
     static long lock_count[CRYPTO_NUM_LOCKS];
                 ^~~~~~~~~~
    SWIG/_m2crypto_wrap.c:3992:27: warning: ‘lock_cs’ defined but not used [-Wunused-variable]
     static PyThread_type_lock lock_cs[CRYPTO_NUM_LOCKS];
                               ^~~~~~~
    error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

    ----------------------------------------
**`Command "/usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-ejd_4lk_/m2crypto/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-ecxgdei0-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-ejd_4lk_/m2crypto/`**

安装失败,当我安装它时得到:

错误:命令“x86_64-linux-gnu-gcc”失败,退出状态为 1

     ----------------------------------------
**`Command "/usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-ejd_4lk_/m2crypto/setup.py';f=getattr(tokenize,

‘open’, open)( file );code=f.read().replace(’\r\n’, ‘\n’);f.close();exec(compile(code, file , ‘exec’ ))” install –record /tmp/pip-ecxgdei0-record/install-record.txt –single-version-externally-managed –compile” 在 /tmp/pip-build-ejd_4lk_/m2crypto 中失败,错误代码为 1 /`**

> 有人可以帮我解决这个问题吗?谢谢!

原文由 Brother of peoples 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.6k
2 个回答

我们能够在 Python 3 上使用带有以下全局包的 libssl-dev swig python3-dev gcc

所以

sudo apt-get install libssl-dev swig python3-dev gcc

应该允许通过 PIP 为 Python 3 安装 m2crypto(在版本 0.32 上测试)

原文由 Ondra 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏