2010-06-03 8 views
42

J'ai créé un virtualenv avec l'option --no-site-packages. Je reçois une erreur en essayant d'installer PIL:erreur gcc essayant d'installer PIL dans un virtualenv 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 

que quelqu'un peut me aider?

Je suis en Ubuntu 10.04 (64 bits)

Répondre

81

Vous devez installer le paquetage python-dev.

sudo apt-get install python-dev 
+5

Je suis sur un environnement Windows 7. Comment puis-je installer python-dev? – darren

+4

J'ai dû installer 'python2.6-dev' dans ma situation puisque virtualenv utilise 2.6. Juste une tête pour quelqu'un d'autre – agscala

+4

'yum installer python-devel' si vous êtes sur CentOS/RHEL. – Banjer

3

En regardant la liste complète sur votre lien pastebin la ligne

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

est le problème.

La ligne de commande gcc a

-I/usr/include/python2.6 

là pour que serait où il s'attendrait à trouver et c'est là, il est sur mon système Mandriva.

Peut-être avez-vous installé python mais pas les bibliothèques de développement qui seraient dans la version "-devel" correspondante du paquet?

0

sudo apt-get install python-dev - est très bon, mais si vous utilisez quelques pythons sur votre système hôte, et python2.6 est par défaut.

Si vous essayez de:

virtualenv -p python2.7 

, allez dans le répertoire bin, dites la source activer, que:

pip install PIL 

Vous obtenez une erreur comme ceci: _imaging.c: 75: 20 : erreur: Python.h: Aucun fichier ou répertoire

Vous devriez dire

!:
sudo apt-get install python2.7-dev 
Questions connexes