pip安装m2crypto错误

时间:2017-06-16 20:18:19

标签: python python-3.x 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,
     

'打开',打开)(文件); code = f.read()。replace('\ r \ n',   '\ n'); f.close(); exec(编译(代码,文件,'exec'))“安装   --record /tmp/pip-ecxgdei0-record/install-record.txt --single-version-external-managed --compile“在/ tmp / pip-build-ejd_4lk_ / m2crypto /`**中失败,错误代码为1

     

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

4 个答案:

答案 0 :(得分:1)

M2Crypto(从版本0.26开始)正式支持Python 3。 正式支持的Python版本是:

Programming Language :: Python :: 2.6
Programming Language :: Python :: 2.7

您遇到的问题与https://gitlab.com/m2crypto/m2crypto/issues/114#note_13223251

中描述的相同

您可以在http://py3readiness.org/

找出与Python 3兼容的流行库

答案 1 :(得分:0)

我们可以在Python 3上通过以下全局软件包libssl-dev swig python3-dev gcc

使用m2crypto

如此

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

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

答案 2 :(得分:0)

听到我们走了,这是100%的工作

易于安装python2.7

python2.7 -m pip安装M2Crypto

答案 3 :(得分:0)

针对python3.X的MAC中的步骤:

首次安装。

if ($widget.find('report-widget')) { SVGCount++; expect(barGraphsChange[index]).to.not.equal(undefined) console.log(barGraphsChange, index) cy.getBarGraphTotal(SVGCount, barGraphsChange[index]) }

第二个痛饮

brew install openssl

更改SWIG_FEATURES

brew install swig