7

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

错误:命令 'swig' failed with exit status 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

4 回答 4

13

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

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

于 2012-04-30T19:33:46.150 回答
2

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

A:退出virtualenv

B:使用以下链接下载 Swig,并按照 INSTALL 文本文档说明进行安装。

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

C:也安装 PCRE 开发者版本,因为 Swig 需要它来运行。按照以下链接和安装文本文档说明进行安装。

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

D:回到virtualenv我最初尝试安装 M2Crypto 的地方,激活virtualenv,然后运行:

pip install M2Crypto
于 2014-01-04T20:32:45.477 回答
0

看起来错误消息是说找不到 swig。swig 在你的 virtualenv 和你的路径中吗?

此外,要让 M2Crypto 工作,您将需要访问 OpenSSL 安装。如果您无法链接到系统的安装,则需要将其安装在本地 virtualenv 中并指向您的链接/库/包含语句以使用它。

于 2012-03-27T17:01:26.660 回答
-1

抱歉,没有更清楚。我认为问题是 swig 不在你的路上。错误消息说:

无法执行 swig:没有这样的文件或目录

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

于 2012-03-29T14:36:51.040 回答