我该如何在Ubuntu上安装M2Crypto?

21

我正在尝试在Ubuntu 10.04 LTS上构建和安装M2Crypto。我下载并解压了M2Crypto-0.20.2.tar文件,然后在M2Crypto-0.20.2目录中执行python setup.py build命令。由于我没有安装swig,所以出现了错误。因此,我运行了sudo apt-get install swig命令进行安装。然后再次尝试执行python setup.py build,结果显示:

/usr/lib/python2.6/distutils/dist.py:266: UserWarning: Unknown distribution option: 'test_suite'
  warnings.warn(msg)
running build
running build_py
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/_bio.i:64: Warning(454): Setting a pointer/reference variable may leak memory.
SWIG/_rand.i:19: Warning(454): Setting a pointer/reference variable may leak memory.
SWIG/_evp.i:156: 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:207: Warning(454): Setting a pointer/reference variable may leak memory.
SWIG/_x509.i:313: Warning(454): Setting a pointer/reference variable may leak memory.
SWIG/_pkcs7.i:42: Warning(454): Setting a pointer/reference variable may leak memory.
SWIG/_pkcs7.i:42: Warning(454): Setting a pointer/reference variable may leak memory.
SWIG/_util.i:9: 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:162: Warning(454): Setting a pointer/reference variable may leak memory.
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.6 -I/usr/include -I/home/dspitzer/M2Crypto-0.20.2/SWIG -c SWIG/_m2crypto_wrap.c -o build/temp.linux-i686-2.6/SWIG/_m2crypto_wrap.o -DTHREADING
SWIG/_m2crypto_wrap.c:126:20: error: Python.h: No such file or directory
SWIG/_m2crypto_wrap.c:757: error: expected ‘)’ before ‘*’ token
SWIG/_m2crypto_wrap.c:781: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token

有人成功地做到了这一点吗?

更新:我改变了标题,因为我没有想到M2Crypto会是一个预建的Ubuntu软件包。


那个想法我没想到过。它的运行就像应该的一样。如果你把你的评论放在答案里,我会接受它。 - Daryl Spitzer
3个回答

30

你可能需要安装Python开发包:

sudo apt-get install python-dev

最好不要自己构建m2crypto。 它已经作为完全支持的软件包在Ubuntu仓库中。 这样,您将通过与Ubuntu系统的其余部分相同的方式获得自动更新:

sudo apt-get install python-m2crypto

1
很遗憾,M2Crypto还没有移植到Python 3 :( - Alex Bitek

3

您是否安装了python2.6-dev包?这个包含有您所缺失的Python.h文件。


2
也许有些人会遇到与openssl相关的错误,请尝试以下方法:
sudo apt-get install openssl
sudo apt-get install libssl-dev

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接