2010-06-03 13 views
42

He creado un virtualenv con la opción --no-site-packages. Me aparece un error tratando de instalar PIL:error de gcc al intentar instalar PIL en un virtualenv de Python2.6

http://pastebin.com/SVqxs1sC

... 
error: command '/usr/bin/gcc' failed with exit status 1 

---------------------------------------- 
Command /home/dustin/.virtualenvs/django1.2/bin/python -c "import setuptools; __file__='/home/dustin/.virtualenvs/django1.2/build/pil/setup.py'; execfile('/home/dustin/.virtualenvs/django1.2/build/pil/setup.py')" install --single-version-externally-managed --record /tmp/pip-t_oikl-record/install-record.txt --install-headers /home/dustin/.virtualenvs/django1.2/include/site/python2.6 failed with error code 1 
Exception information: 
Traceback (most recent call last): 
    File "/home/dustin/.virtualenvs/django1.2/lib/python2.6/site-packages/pip-0.7.2-py2.6.egg/pip/basecommand.py", line 120, in main 
    self.run(options, args) 
    File "/home/dustin/.virtualenvs/django1.2/lib/python2.6/site-packages/pip-0.7.2-py2.6.egg/pip/commands/install.py", line 165, in run 
    requirement_set.install(install_options) 
    File "/home/dustin/.virtualenvs/django1.2/lib/python2.6/site-packages/pip-0.7.2-py2.6.egg/pip/req.py", line 1243, in install 
    requirement.install(install_options) 
    File "/home/dustin/.virtualenvs/django1.2/lib/python2.6/site-packages/pip-0.7.2-py2.6.egg/pip/req.py", line 540, in install 
    cwd=self.source_dir, filter_stdout=self._filter_install, show_stdout=False) 
    File "/home/dustin/.virtualenvs/django1.2/lib/python2.6/site-packages/pip-0.7.2-py2.6.egg/pip/__init__.py", line 226, in call_subprocess 
    % (command_desc, proc.returncode)) 
InstallationError: Command /home/dustin/.virtualenvs/django1.2/bin/python -c "import setuptools; __file__='/home/dustin/.virtualenvs/django1.2/build/pil/setup.py'; execfile('/home/dustin/.virtualenvs/django1.2/build/pil/setup.py')" install --single-version-externally-managed --record /tmp/pip-t_oikl-record/install-record.txt --install-headers /home/dustin/.virtualenvs/django1.2/include/site/python2.6 failed with error code 1 

Puede alguien ayudarme con esto?

Estoy corriendo Ubuntu 10.04 (64 bits)

Respuesta

81

Necesita instalar el paquete python-dev.

sudo apt-get install python-dev 
+5

Estoy en un entorno de Windows 7. ¿Cómo hago para instalar python-dev? – darren

+4

Tuve que instalar 'python2.6-dev' en mi situación ya que virtualenv usa 2.6. Solo un aviso para cualquier persona – agscala

+4

'yum install python-devel' si está en CentOS/RHEL. – Banjer

3

Mirando la lista completa en el enlace de Pastebin la línea

_imaging.c:75:20: error: Python.h: No such file or directory 

es el problema.

La línea de comando gcc tiene

-I/usr/include/python2.6 

allí de modo que estaría donde espera encontrar y eso es donde está en mi sistema Mandriva.

¿Quizás tiene instalado Python pero no las bibliotecas de desarrollo que estarían en la versión correspondiente del paquete? -devel "?

0

sudo apt-get install python-dev - es muy bueno, pero si utiliza unos pitones en su sistema host y python2.6 es por defecto.

Si intenta:

virtualenv -p python2.7 

, vaya al directorio bin, dice la fuente activa, que :

pip install PIL 

Se obtiene error como este: _imaging.c: 75: 20 : error: Python.h: No existe el fichero o directorio

que debe decir !:

sudo apt-get install python2.7-dev 
Cuestiones relacionadas