1437 votes

Fatal error : Python.h : aucun fichier ou répertoire

Je suis en train de construire une bibliothèque partagée à l'aide d'un C extension de fichier mais d'abord je dois générer le fichier de sortie à l'aide de la commande ci-dessous:

gcc -Wall utilsmodule.c -o Utilc

Après l'exécution de la commande, j'obtiens ce message d'erreur:

utilsmodule.c:1:20: erreur fatale: Python.h: Aucun fichier ou répertoire compilation terminée.

en fait, j'ai essayé toutes les solutions proposées sur internet, mais le problème persiste ... aussi je n'ai aucun problème avec Python.h. J'ai réussi à localiser le fichier sur ma machine ... quelqu'un a connu le même problème??

2718voto

wim Points 35274

On dirait que vous n’avez pas installé correctement les fichiers d’en-tête et les bibliothèques statiques pour python dev. Si votre OS est Ubuntu/Debian :

421voto

FreshPow Points 191

Sur Ubuntu, je courais 3.3 Python et j’ai dû installer

76voto

vartec Points 53382

Deux choses que vous devez faire.

Installez le paquet de développement pour Python, dans le cas de Debian/Ubuntu/menthe, c’est fait avec la commande :

Deuxième chose est que les fichiers include ne sont pas par défaut dans le chemin d’accès include, ni est bibliothèque de Python liée avec l’exécutable par défaut. Vous devez ajouter ces drapeaux (remplacer la version de Python en conséquence) :

En d’autres termes votre commande de compilation devrait être :

30voto

sebleblanc Points 586

Assurez-vous que les fichiers de dev Python sont livrés avec votre système d’exploitation.

Vous ne devriez pas dur la bibliothèque de code et chemins d’accès include. Utilisez plutôt pkg-config, qui affichera les options appropriées pour votre système spécifique :

Vous pouvez l’ajouter à votre ligne de gcc :

12voto

Mohanad Y. Points 154

J’ai réussi à résoudre ce problème et générer le fichier .so dans une seule commande ****

mohanad@mohanad-OptiPlex-760:~/free_Energy$ gcc-partagé -o UtilcS.so - cple-I/usr/include/python2.7-lpython2.7 utilsmodule.c

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