如何让Python m2Crypto与virtualenv一起使用?

时间:2012-03-27 15:25:39

标签: python virtualenv m2crypto

我正在尝试安装M2Crypto,以便我可以在我的网络应用中生成pkey。我的托管要求规定我必须使用pip来安装任何依赖项。在系统级别安装m2crypto对我来说不是一个选择。我正在开发中使用Mint 12并将部署到heroku。

错误:命令'swig'失败,退出状态1 看起来像问题,但谷歌没有帮助。 想法?

转储

Downloading/unpacking m2crypto
  Downloading M2Crypto-0.21.1.tar.gz (413Kb): 413Kb downloaded
  Running setup.py egg_info for package m2crypto

Installing collected packages: m2crypto
  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.7 -I/usr/include -includeall -o SWIG/_m2crypto_wrap.c SWIG/_m2crypto.i
    unable to execute swig: No such file or directory
    error: command 'swig' failed with exit status 1
    Complete output from command /home/bob/.virtualenvs/my_app/bin/python -c "import setuptools;__file__='/home/bob/.virtualenvs/my_app/build/m2crypto/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --single-version-externally-managed --record /tmp/pip-O1V45n-record/install-record.txt --install-headers /home/bob/.virtualenvs/my_app/include/site/python2.7:
    running install
running build
(....clip...)
swigging SWIG/_m2crypto.i to SWIG/_m2crypto_wrap.c
swig -python -I/usr/include/python2.7 -I/usr/include -includeall -o SWIG/_m2crypto_wrap.c SWIG/_m2crypto.i
unable to execute swig: No such file or directory
error: command 'swig' failed with exit status 1

----------------------------------------
Command /home/bob/.virtualenvs/my_app/bin/python -c "import setuptools;__file__='/home/bob/.virtualenvs/my_app/build/m2crypto/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --single-version-externally-managed --record /tmp/pip-O1V45n-record/install-record.txt --install-headers /home/bob/.virtualenvs/my_app/include/site/python2.7 failed with error code 1 in /home/bob/.virtualenvs/my_app/build/m2crypto

4 个答案:

答案 0 :(得分:13)

你的问题与virtualenv无关。你没有安装swig。

使用您的发行版的软件包管理器安装swig,并尝试在virtualenv中重新安装M2Crypto。

答案 1 :(得分:2)

我在Mac OSX上的VirtualEnv中pip install M2Crypto的解决方案如下:

A:退出virtualenv

B:使用以下链接下载Swig,然后按照安装时的INSTALL文本文档说明进行操作。

http://sourceforge.net/projects/swig/?source=dlp

C:安装PCRE开发人员版本也是因为Swig需要它才能运行。请按照以下链接和INSTALL文本文档说明进行安装。

http://sourceforge.net/projects/pcre/?source=dlp

D:首先回到我试图安装M2Crypto的virtualenv,激活virtualenv,然后运行:

pip install M2Crypto

答案 2 :(得分:0)

看起来错误信息是说无法找到swig。在你的virtualenv和你的道路上是不是很开心?

此外,要使M2Crypto正常工作,您将需要访问OpenSSL安装。如果您无法链接系统的安装,则需要在本地virtualenv中安装它并指向link / library / include语句以使用它。

答案 3 :(得分:-1)

对不起它不太清楚。我认为问题是swig不在你的道路上。错误消息显示:

无法执行swig:没有此类文件或目录

如果从命令提示符运行'swig'会发生什么?