244 votes

error : la commande 'gcc' a échoué avec le statut de sortie 1 lors de l'installation d'eventlet

Je voulais installer eventlet sur mon système afin d'avoir "Herd" pour le déploiement de logiciels mais le terminal montre une erreur gcc :

  root@agrover-OptiPlex-780:~# easy_install -U eventlet
  Searching for eventlet
  Reading http://pypi.python.org/simple/eventlet/
  Reading http://wiki.secondlife.com/wiki/Eventlet
  Reading http://eventlet.net
   Best match: eventlet 0.9.16
    Processing eventlet-0.9.16-py2.7.egg
    eventlet 0.9.16 is already the active version in easy-install.pth

   Using /usr/local/lib/python2.7/dist-packages/eventlet-0.9.16-py2.7.egg
 Processing dependencies for eventlet
 Searching for greenlet>=0.3
Reading http://pypi.python.org/simple/greenlet/
Reading https://github.com/python-greenlet/greenlet
Reading http://bitbucket.org/ambroff/greenlet
Best match: greenlet 0.3.4
Downloading http://pypi.python.org/packages/source/g/greenlet/greenlet-   0.3.4.zip#md5=530a69acebbb0d66eb5abd83523d8272
Processing greenlet-0.3.4.zip
Writing /tmp/easy_install-_aeHYm/greenlet-0.3.4/setup.cfg
Running greenlet-0.3.4/setup.py -q bdist_egg --dist-dir /tmp/easy_install-_aeHYm/greenlet-0.3.4/egg-dist-tmp-t9_gbW
In file included from greenlet.c:5:0:
greenlet.h:8:20: fatal error: Python.h: No such file or directory
compilation terminated.
error: Setup script exited with error: command 'gcc' failed with exit status 1`

Pourquoi ne peut-on pas Python.h être trouvé ?

412voto

Trevor Points 4599

Votre installation échoue parce que les en-têtes de développement python ne sont pas installés. Vous pouvez le faire via apt sur ubuntu/debian avec :

sudo apt-get install python-dev 

pour l'utilisation de python3 :

sudo apt-get install python3-dev

Para eventlet vous pouvez également avoir besoin du libevent installé, donc si vous obtenez une erreur parlant de cela, vous pouvez installer libevent avec :

sudo apt-get install libevent-dev

3 votes

Pour info, vous avez certainement besoin de python-dev et de libevent-dev. Merci !

76 votes

Pour fedora, vous pouvez utiliser : sudo yum install python-devel

9 votes

Je suggère d'exécuter sudo apt-get update avant d'exécuter ces 2 commandes. Je recevais une erreur avec sudo apt-get install python-dev .

57voto

snehal parmar Points 64

Pour Fedora :

sudo yum install python-devel

sudo yum install libevent-devel

et enfin :

sudo easy_install gevent

40voto

Nishant Kumar Points 374

Ce qui a marché pour moi sur CentOS était :

sudo yum -y install gcc
sudo yum install python-devel

35voto

Rahul Satal Points 580

Para Versions Redhat (Centos 7) Utilisez la commande suivante pour installer le paquet de développement Python

Python 2.7

sudo yum install python-dev

Python 3.4

sudo yum install python34-devel

Python 3.6

sudo yum install python36-devel

Si le problème n'est toujours pas résolu, essayez d'installer les paquets ci-dessous.

sudo yum install python-devel

sudo yum install openssl-devel

sudo yum install libffi-devel

22voto

Boris Yakubchik Points 564

Sur MacOS J'ai eu du mal à installer fbprophet qui exige pystan qui exige gcc pour compiler. J'obtenais toujours la même erreur : la commande 'gcc' a échoué avec le statut de sortie 1

Je pense avoir résolu le problème pour moi-même ainsi :

J'ai utilisé brew install gcc pour installer la dernière version, qui s'est avérée être gcc-8

Ensuite, je me suis assuré que lorsque gcc a couru qu'il utiliserait gcc-8 à la place.

Soit ça a marché parce que j'ai ajouté alias gcc='gcc-8 dans mon .zshrc (même chose que .bashrc mais pour zsh ), ou parce que j'ai lancé export PATH=/usr/local/bin:$PATH (voir commentaire )

Aussi tous mes essais étaient à l'intérieur d'une environnement virtuel et je n'ai réussi qu'en installant fbprophet au niveau mondial (avec pip ), mais toujours pas de succès dans un venv

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X