在Ubuntu 14.04上的Python 2.6上安装M2Crypto 0.20.1

在Ubuntu 14.04上的Python 2.6上安装M2Crypto 0.20.1,python,ubuntu,Python,Ubuntu,我需要在Ubuntu 14.04上从Python 2.6的源代码处编译并安装M2Crypto 0.20.1。我现在不能迁移到Python2.7,但我们正计划这么做。我从安装了Python2.6。我已经安装了libssl-dev和python2.6-dev,文件/usr/include/x86_64-linux-gnu/openssl/opensslconf.h具有644权限,由root用户拥有 但是,M2Crypto的setup.py安装失败,如下所示: Running setup.py ins

我需要在Ubuntu 14.04上从Python 2.6的源代码处编译并安装M2Crypto 0.20.1。我现在不能迁移到Python2.7,但我们正计划这么做。我从安装了Python2.6。我已经安装了libssl-dev和python2.6-dev,文件/usr/include/x86_64-linux-gnu/openssl/opensslconf.h具有644权限,由root用户拥有

但是,M2Crypto的
setup.py安装失败,如下所示:

Running setup.py install for M2Crypto
    building 'M2Crypto.__m2crypto' extension
    swigging SWIG/_m2crypto.i to SWIG/_m2crypto_wrap.c
    swig -python -I/usr/include/python2.6 -I/usr/include -includeall -o SWIG/_m2crypto_wrap.c SWIG/_m2crypto.i
    SWIG/_evp.i:9: Error: Unable to find 'openssl/opensslconf.h'
    SWIG/_ec.i:7: Error: Unable to find 'openssl/opensslconf.h'
    error: command 'swig' failed with exit status 1
    Complete output from command /vagrant/venv/bin/python2.6 -c "import setuptools, tokenize;__file__='/vagrant/venv/build/M2Crypto/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-3vnOUl-record/install-record.txt --single-version-externally-managed --compile --install-headers /vagrant/venv/include/site/python2.6:
    running install

running build

running build_py

creating build

creating build/lib.linux-x86_64-2.6

creating build/lib.linux-x86_64-2.6/M2Crypto

copying M2Crypto/RC4.py -> build/lib.linux-x86_64-2.6/M2Crypto

copying M2Crypto/BIO.py -> build/lib.linux-x86_64-2.6/M2Crypto

copying M2Crypto/callback.py -> build/lib.linux-x86_64-2.6/M2Crypto

copying M2Crypto/DSA.py -> build/lib.linux-x86_64-2.6/M2Crypto

copying M2Crypto/ftpslib.py -> build/lib.linux-x86_64-2.6/M2Crypto

copying M2Crypto/Engine.py -> build/lib.linux-x86_64-2.6/M2Crypto

copying M2Crypto/EVP.py -> build/lib.linux-x86_64-2.6/M2Crypto

copying M2Crypto/BN.py -> build/lib.linux-x86_64-2.6/M2Crypto

copying M2Crypto/DH.py -> build/lib.linux-x86_64-2.6/M2Crypto

copying M2Crypto/util.py -> build/lib.linux-x86_64-2.6/M2Crypto

copying M2Crypto/EC.py -> build/lib.linux-x86_64-2.6/M2Crypto

copying M2Crypto/httpslib.py -> build/lib.linux-x86_64-2.6/M2Crypto

copying M2Crypto/Rand.py -> build/lib.linux-x86_64-2.6/M2Crypto

copying M2Crypto/__init__.py -> build/lib.linux-x86_64-2.6/M2Crypto

copying M2Crypto/m2.py -> build/lib.linux-x86_64-2.6/M2Crypto

copying M2Crypto/m2xmlrpclib.py -> build/lib.linux-x86_64-2.6/M2Crypto

copying M2Crypto/RSA.py -> build/lib.linux-x86_64-2.6/M2Crypto

copying M2Crypto/threading.py -> build/lib.linux-x86_64-2.6/M2Crypto

copying M2Crypto/ASN1.py -> build/lib.linux-x86_64-2.6/M2Crypto

copying M2Crypto/SMIME.py -> build/lib.linux-x86_64-2.6/M2Crypto

copying M2Crypto/m2urllib2.py -> build/lib.linux-x86_64-2.6/M2Crypto

copying M2Crypto/Err.py -> build/lib.linux-x86_64-2.6/M2Crypto

copying M2Crypto/X509.py -> build/lib.linux-x86_64-2.6/M2Crypto

copying M2Crypto/AuthCookie.py -> build/lib.linux-x86_64-2.6/M2Crypto

copying M2Crypto/m2urllib.py -> build/lib.linux-x86_64-2.6/M2Crypto

creating build/lib.linux-x86_64-2.6/M2Crypto/SSL

copying M2Crypto/SSL/Session.py -> build/lib.linux-x86_64-2.6/M2Crypto/SSL

copying M2Crypto/SSL/Cipher.py -> build/lib.linux-x86_64-2.6/M2Crypto/SSL

copying M2Crypto/SSL/Connection.py -> build/lib.linux-x86_64-2.6/M2Crypto/SSL

copying M2Crypto/SSL/Checker.py -> build/lib.linux-x86_64-2.6/M2Crypto/SSL

copying M2Crypto/SSL/__init__.py -> build/lib.linux-x86_64-2.6/M2Crypto/SSL

copying M2Crypto/SSL/TwistedProtocolWrapper.py -> build/lib.linux-x86_64-2.6/M2Crypto/SSL

copying M2Crypto/SSL/SSLServer.py -> build/lib.linux-x86_64-2.6/M2Crypto/SSL

copying M2Crypto/SSL/Context.py -> build/lib.linux-x86_64-2.6/M2Crypto/SSL

copying M2Crypto/SSL/timeout.py -> build/lib.linux-x86_64-2.6/M2Crypto/SSL

copying M2Crypto/SSL/cb.py -> build/lib.linux-x86_64-2.6/M2Crypto/SSL

copying M2Crypto/SSL/ssl_dispatcher.py -> build/lib.linux-x86_64-2.6/M2Crypto/SSL

creating build/lib.linux-x86_64-2.6/M2Crypto/PGP

copying M2Crypto/PGP/PublicKey.py -> build/lib.linux-x86_64-2.6/M2Crypto/PGP

copying M2Crypto/PGP/__init__.py -> build/lib.linux-x86_64-2.6/M2Crypto/PGP

copying M2Crypto/PGP/RSA.py -> build/lib.linux-x86_64-2.6/M2Crypto/PGP

copying M2Crypto/PGP/PublicKeyRing.py -> build/lib.linux-x86_64-2.6/M2Crypto/PGP

copying M2Crypto/PGP/packet.py -> build/lib.linux-x86_64-2.6/M2Crypto/PGP

copying M2Crypto/PGP/constants.py -> build/lib.linux-x86_64-2.6/M2Crypto/PGP

running build_ext

building 'M2Crypto.__m2crypto' extension

swigging SWIG/_m2crypto.i to SWIG/_m2crypto_wrap.c

swig -python -I/usr/include/python2.6 -I/usr/include -includeall -o SWIG/_m2crypto_wrap.c SWIG/_m2crypto.i

SWIG/_evp.i:9: Error: Unable to find 'openssl/opensslconf.h'

SWIG/_ec.i:7: Error: Unable to find 'openssl/opensslconf.h'

error: command 'swig' failed with exit status 1

----------------------------------------
Cleaning up...
Command /vagrant/venv/bin/python2.6 -c "import setuptools, tokenize;__file__='/vagrant/venv/build/M2Crypto/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-3vnOUl-record/install-record.txt --single-version-externally-managed --compile --install-headers /vagrant/venv/include/site/python2.6 failed with error code 1 in /vagrant/venv/build/M2Crypto
Traceback (most recent call last):
  File "/vagrant/venv/bin/pip", line 11, in <module>
    sys.exit(main())
  File "/vagrant/venv/lib/python2.6/site-packages/pip/__init__.py", line 185, in main
    return command.main(cmd_args)
  File "/vagrant/venv/lib/python2.6/site-packages/pip/basecommand.py", line 161, in main
    text = '\n'.join(complete_log)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 39: ordinal not in range(128)
为M2Crypto运行setup.py安装
构建“M2Crypto.\uuuM2Crypto”扩展
swigg SWIG/_m2crypto.i到SWIG/_m2crypto\u wrap.c
swig-python-I/usr/include/python2.6-I/usr/include-includeal-oswig/\u m2crypto\u wrap.c swig/\u m2crypto.I
SWIG/_evp.i:9:错误:找不到“openssl/opensslconf.h”
SWIG/_ec.i:7:错误:找不到“openssl/opensslconf.h”
错误:命令“swig”失败,退出状态为1
从命令/vagrant/venv/bin/python2.6-c“import setuptools,tokenize;uu file_uu='/vagrant/venv/build/M2Crypto/setup.py';exec(compile)(getattr(tokenize,'open',open)(u文件uuu).read().replace('\r\n','\n'),u文件uu,'exec'))完成输出安装--record/tmp/pip-3vnOUl-record/install-record.txt--外部管理的单一版本--编译--install headers/vagrant/venv/include/site/python2.6:
正在运行的安装
运行构建
运行build\u py
创建构建
创建build/lib.linux-x86_64-2.6
创建build/lib.linux-x86_64-2.6/M2Crypto
复制M2Crypto/RC4.py->build/lib.linux-x86_64-2.6/M2Crypto
正在复制M2Crypto/BIO.py->build/lib.linux-x86_64-2.6/M2Crypto
正在复制M2Crypto/callback.py->build/lib.linux-x86_64-2.6/M2Crypto
复制M2Crypto/DSA.py->build/lib.linux-x86_64-2.6/M2Crypto
复制M2Crypto/ftpslib.py->build/lib.linux-x86_64-2.6/M2Crypto
正在复制M2Crypto/Engine.py->build/lib.linux-x86_64-2.6/M2Crypto
复制M2Crypto/EVP.py->build/lib.linux-x86_64-2.6/M2Crypto
正在复制M2Crypto/BN.py->build/lib.linux-x86_64-2.6/M2Crypto
复制M2Crypto/DH.py->build/lib.linux-x86_64-2.6/M2Crypto
正在复制M2Crypto/util.py->build/lib.linux-x86_64-2.6/M2Crypto
复制M2Crypto/EC.py->build/lib.linux-x86_64-2.6/M2Crypto
正在复制M2Crypto/httpslib.py->build/lib.linux-x86_64-2.6/M2Crypto
正在复制M2Crypto/Rand.py->build/lib.linux-x86_64-2.6/M2Crypto
正在复制M2Crypto/_init__uuu.py->build/lib.linux-x86_64-2.6/M2Crypto
复制M2Crypto/m2.py->build/lib.linux-x86_64-2.6/M2Crypto
正在复制M2Crypto/m2xmlrpclib.py->build/lib.linux-x86_64-2.6/M2Crypto
复制M2Crypto/RSA.py->build/lib.linux-x86_64-2.6/M2Crypto
复制M2Crypto/threading.py->build/lib.linux-x86_64-2.6/M2Crypto
正在复制M2Crypto/ASN1.py->build/lib.linux-x86_64-2.6/M2Crypto
正在复制M2Crypto/SMIME.py->build/lib.linux-x86_64-2.6/M2Crypto
正在复制M2Crypto/m2urllib2.py->build/lib.linux-x86_64-2.6/M2Crypto
复制M2Crypto/Err.py->build/lib.linux-x86_64-2.6/M2Crypto
正在复制M2Crypto/X509.py->build/lib.linux-x86_64-2.6/M2Crypto
正在复制M2Crypto/AuthCookie.py->build/lib.linux-x86_64-2.6/M2Crypto
正在复制M2Crypto/m2urllib.py->build/lib.linux-x86_64-2.6/M2Crypto
创建build/lib.linux-x86_64-2.6/M2Crypto/SSL
复制M2Crypto/SSL/Session.py->build/lib.linux-x86_64-2.6/M2Crypto/SSL
正在复制M2Crypto/SSL/Cipher.py->build/lib.linux-x86_64-2.6/M2Crypto/SSL
正在复制M2Crypto/SSL/Connection.py->build/lib.linux-x86_64-2.6/M2Crypto/SSL
正在复制M2Crypto/SSL/Checker.py->build/lib.linux-x86_64-2.6/M2Crypto/SSL
正在复制M2Crypto/SSL/_init__.py->build/lib.linux-x86_64-2.6/M2Crypto/SSL
复制M2Crypto/SSL/TwistedProtocolWrapper.py->build/lib.linux-x86_64-2.6/M2Crypto/SSL
正在复制M2Crypto/SSL/SSLServer.py->build/lib.linux-x86_64-2.6/M2Crypto/SSL
复制M2Crypto/SSL/Context.py->build/lib.linux-x86_64-2.6/M2Crypto/SSL
正在复制M2Crypto/SSL/timeout.py->build/lib.linux-x86_64-2.6/M2Crypto/SSL
复制M2Crypto/SSL/cb.py->build/lib.linux-x86_64-2.6/M2Crypto/SSL
正在复制M2Crypto/SSL/SSL_dispatcher.py->build/lib.linux-x86_64-2.6/M2Crypto/SSL
创建build/lib.linux-x86_64-2.6/M2Crypto/PGP
正在复制M2Crypto/PGP/PublicKey.py->build/lib.linux-x86_64-2.6/M2Crypto/PGP
正在复制M2Crypto/PGP/_init__uuu.py->build/lib.linux-x86_64-2.6/M2Crypto/PGP
复制M2Crypto/PGP/RSA.py->build/lib.linux-x86_64-2.6/M2Crypto/PGP
正在复制M2Crypto/PGP/PublicKeyRing.py->build/lib.linux-x86_64-2.6/M2Crypto/PGP
正在复制M2Crypto/PGP/packet.py->build/lib.linux-x86_64-2.6/M2Crypto/PGP
正在复制M2Crypto/PGP/constants.py->build/lib.linux-x86_64-2.6/M2Crypto/PGP
运行build_ext
构建“M2Crypto.\uuuM2Crypto”扩展
swigg SWIG/_m2crypto.i到SWIG/_m2crypto\u wrap.c
swig-python-I/usr/include/python2.6-I/usr/include-includeal-oswig/\u m2crypto\u wrap.c swig/\u m2crypto.I
SWIG/_evp.i:9:错误:找不到“openssl/opensslconf.h”
SWIG/_ec.i:7:错误:找不到“openssl/opensslconf.h”
错误:命令“swig”失败,退出状态为1
----------------------------------------
清理。。。
Command/vagrant/venv/bin/python2.6-c“导入setuptools,tokenize;uu文件uuu=”/vagrant/venv/build/M2Crypto/setup.py';exec(编译(getattr(tokenize,'open',open)(uu文件uuu).read().replace('\r\n','\n'),u文件uu,'exec'))安装--record/tmp/pip-3vnOUl-record/install-record.txt--外部管理的单一版本--编译--install headers/vagrant/venv/include/site/python2.6失败,错误代码为1 in/vagrant/venv/build/M2Crypto
回溯(最近一次呼叫最后一次):
文件“/vagrant/venv/bin/pip”,第11行,在
sys.exit(main())
文件“/vagrant/venv/lib/python2.6/site packages/pip/_init__.py”,第185行,主文件
return command.main(cmd_args)
文件“/vagrant/venv/lib/python2.6/site packages/pip/basecommand.py”,第161行,在main中
text='\n'.连接(完成日志)
UnicodeDecodeError:“ascii”编解码器无法解码第39位的字节0xe2:序号不在范围内(128)

我会错过什么?

路径错误。尝试这样做:

cd /usr/include/openssl/
ln -s ../x86_64-linux-gnu/openssl/opensslconf.h .

缺少swig命令-I/usr/include/x86_64-linux-gnu/openssl/但是为什么?文件在那里…D