2010-12-15 18 views
19

Intentando instalar Cython en un pequeño servidor virtual que ejecuta Ubuntu Server. HizoCython Install GCC error

sudo apt-get install gcc 

y luego

python setup.py install 

En el directorio Cython, pero me sale este error peculiar.

running install 
running build 
running build_py 
running build_ext 
building 'Cython.Plex.Scanners' extension 
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.6 -c Cython/Plex/Scanners.c -o build/temp.linux-x86_64-2.6/Cython/Plex/Scanners.o 
Cython/Plex/Scanners.c:4:20: error: Python.h: No such file or directory 
Cython/Plex/Scanners.c:6:6: error: #error Python headers needed to compile C extensions, please install development version of Python. 
error: command 'gcc' failed with exit status 1 

¿Por qué debería necesitar una 'versión de desarrollo de Python'? Ejecutando Python 2.6.5 (r265: 79063, 16 de abril de 2010, 13:57:41). ¡Gracias!

Respuesta

36

Se necesita la versión de desarrolladores de Python - es decir, los archivos de cabecera (Python) Python.h

sudo apt-get install python-dev 
+0

¡Bien! ¿Puedo preguntar por qué esto es necesario? Mi máquina de desarrollo (Windows) solo tiene el Python 2.6 estándar y funciona bien. Por otra parte, instalé a través del instalador empaquetado, por lo que podría haber incluido todo. – DizzyDoo

+0

Una respuesta simple sería que algunos archivos fuente en Cython #incluyen algunos archivos de cabecera python, por lo que necesita encabezados de python para compilar Cython. Si desea saber por qué se están utilizando esos archivos, entonces debe consultar la fuente de Cython. – binW

+1

Esto también se debe al hecho de que Ubuntu y Debian eligen separar los paquetes de desarrollo. – user225312

4

Necesita los encabezados incluidos en la versión de desarrollo de Python, es decir python.h. Debe estar empaquetado en Ubuntu como python-dev.