2012-03-27 31 views
6

Estoy tratando de instalar M2Crypto para que pueda generar pkey en mi aplicación web. Mis requisitos de hospedaje dictan que debo usar pip para instalar cualquier dependencia. Instalar m2crypto en el nivel del sistema no es una opción para mí. Estoy usando Mint 12 en desarrollo y lo implementaré en heroku.¿Cómo hacer que Python m2Crypto trabaje con virtualenv?

error: el comando 'swig' falló con el estado de salida 1 parece el problema, pero google no fue de ayuda. ¿Pensamientos?

volcado

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 

Respuesta

12

Tu problema no tiene nada que ver con virtualenv. Simplemente no tienes swig instalado.

Instale swig usando el administrador de paquetes de su distribución e intente reinstalar M2Crypto en el virtualenv.

0

Parece que el mensaje de error que dice trago no se puede encontrar. ¿Baña en tu virtualenv y en tu camino?

Además, para hacer que M2Crypto funcione, necesitará el acceso a la instalación de OpenSSL. Si no puede establecer un vínculo con la instalación del sistema, deberá instalarlo dentro de su entorno virtual local y señalar su enlace/biblioteca/incluir declaraciones para usarlo.

+0

¿Qué quiere decir con " ¿Está en tu virtualenv y en tu camino? Supongo que la respuesta es no. – bdd

-1

Lo siento, no fue más claro. Creo que el problema es que el trago no está en tu camino. El mensaje de error dice:

incapaz de ejecutar trago: No existe el fichero o directorio

¿Qué ocurre si se ejecuta 'trago' desde la línea de comandos?

2

Mi solución a pip install M2Crypto en mi virtualenv en mi Mac con OSX fue el siguiente:

A: salida del virtualenv

B: Descargar trago utilizando el enlace a continuación y siguiendo el texto INSTALAR documente las instrucciones para instalarlo.

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

C: instalar la versión desarrollador PCRE, así porque trago necesario para que se ejecute. Siga el enlace a continuación y las instrucciones para instalar el documento de texto al instalarlo.

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

D: volver a entrar en mi virtualenv que yo estaba tratando de instalar M2Crypto en en el primer lugar, activar el virtualenv, y ejecute:

pip install M2Crypto 
Cuestiones relacionadas