web-dev-qa-db-fra.com

Python.h manquant dans Ubuntu 12.04

Je suis très nouveau sur python.J'ai installé un contrôleur openflow sur mon PC Linux (Ubunutu 12.04) appelé RYU en utilisant:

 Sudo  pip install ryu

J'essayais de lancer un fichier python en utilisant ryu-manager comme indiqué ci-dessous.

Sudo ryu-manager simple_switch.py 
Traceback (most recent call last):
  File "/usr/local/bin/ryu-manager", line 19, in <module>
    import gevent
ImportError: No module named gevent

Ensuite, j'ai essayé d'installer gevent en utilisant:

Sudo pip install gevent
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c gevent/core.c -o build/temp.linux-x86_64-2.7/gevent/core.o
gevent/core.c:4:20: fatal error: Python.h: No such file or directory

compilation terminated.

error: command 'gcc' failed with exit status 1

Quelle est la cause de cette erreur? J'ai essayé de localiser le fichier Python.h en utilisant:

  Sudo locate Python.h

Je ne pouvais pas le trouver sur mon système. Cependant, si je lance:

python -V

Je reçois la sortie:

Python 2.7.3

Python.h devrait-il être présent sur le système? Si oui, que dois-je installer pour l'obtenir?

68
liv2hak

Cela devrait le faire:

Sudo apt-get update; Sudo apt-get install python-dev -y

Il installera les en-têtes manquants. Cela m'a beaucoup aidé.

184
user2173955

Même si vous avez Python installé, le fichier d’en-tête et la bibliothèque ne sont généralement pas installés par défaut. Sous Ubuntu, ils sont fournis dans un paquet séparé appelé python-dev .

36
NPE

Installez gevent directement - Sudo apt-get install python-gevent.

9
Burhan Khalid