2012-07-22 19 views
50

Después de haber observado otros subprocesos similares, todavía no puedo ejecutar pycrypto.Instalación de PyCrypto en Ubuntu - error fatal en la compilación

Estoy tratando de hacerlo funcionar en mi computadora portátil Ubuntu, pero tampoco pude gestionarlo en mi PC con Windows.

He descargado pycrypto-2.6, que extrae, y corrieron

python setup.py build 

pero entonces esto sucedió

warning: GMP or MPIR library not found; Not building Crypto.PublicKey._fastmath. 
building 'Crypto.Hash._MD2' extension 
gcc -pthread -fno-strict-aliasing -fwrapv -Wall -Wstrict-prototypes -fPIC -std=c99 -O3 - fomit-frame-pointer -Isrc/ -I/usr/include/python2.7 -c src/MD2.c -o build/temp.linux-i686-?2.7/src/MD2.o 
src/MD2.c:31:20: fatal error: Python.h: No such file or directory 
compilation terminated. 
error: command 'gcc' failed with exit status 1 

agradecería cualquier ayuda.

+0

No tiene un encabezado en desarrollo para python. Sin embargo, si solo necesita el módulo, ¿por qué no lo instala mediante easy_install o pip? – qrtt1

+0

Mismo error al usar easy_install (sin el paquete python-dev). –

+0

Mismo error al usar pip (sin el paquete python-dev). – OmarOthman

Respuesta

129

Necesita instalar los archivos de desarrollo de Python. Creo que esto lo hará:

sudo apt-get install python-dev 
+3

'sudo zypper en python-devel' para OpenSuse –

+2

Lo siento, no estoy seguro de por qué nunca acepté su respuesta. Hecho ahora :) – OJFord

+2

Para Python3: 'apt-get install python3.2-dev' o' apt-get install python3.3-dev', dependiendo de la distro –

19

En Ubuntu, que necesitaba algunos otros paquetes para que tenga éxito:

apt-get install autoconf g++ python2.7-dev 
pip install pycrypto 
+1

Esto hace el truco en Debian 8.1 – scum

+0

También funciona en Ubuntu 16.04 LTS. Me pregunto por qué falta la rueda de pypi para este paquete. – nagylzs

0

En Ubuntu y si se utiliza Python 3.x, necesitará:

sudo apt-get install gcc python3-dev 

probablemente ya tengas gcc pero por si acaso si estás intentando este comando desde Dockerfile con python de imagen base: 3.6.4-slim-jessie entonces también necesitarás gcc.

Cuestiones relacionadas