Как заставить Python m2Crypto работать с virtualenv? - PullRequest
7 голосов
/ 27 марта 2012

Я пытаюсь установить M2Crypto, чтобы я мог генерировать pkey в моем веб-приложении.Мои требования к хостингу требуют, чтобы я использовал pip для установки любых зависимостей.Установка m2crypto на системном уровне для меня не вариант.Я использую Mint 12 в разработке и буду развертывать на heroku.

ошибка: команда 'swig' не выполнена, состояние выхода 1 похоже на проблему, но Google не помог.Мысли?

Дамп

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 ]

13 голосов
/ 30 апреля 2012

Ваша проблема не имеет ничего общего с virtualenv. Вы просто не установили swig.

Установите swig с помощью менеджера пакетов вашего дистрибутива и попробуйте переустановить M2Crypto в virtualenv.

2 голосов
/ 05 января 2014

Мое решение для pip install M2Crypto в моем VirtualEnv на моем Mac с OSX было следующим:

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
0 голосов
/ 29 марта 2012

Извините, это не было яснее.Я думаю, что проблема глоток не на вашем пути.Сообщение об ошибке гласит:

невозможно выполнить swig: нет такого файла или каталога

Что произойдет, если вы запустите 'swig' из командной строки?

0 голосов
/ 27 марта 2012

Похоже, в сообщении об ошибке говорится, что swig не может быть найден. Является ли глоток твоим добродетелью и твоим путем?

Кроме того, чтобы заставить M2Crypto работать, вам понадобится доступ к установке OpenSSL. Если вы не можете создать ссылку на установку системы, вам необходимо установить ее в своем локальном virtualenv и указать свои ссылки / библиотеку / операторы include для ее использования.

...