J'essaie de compiler une extension Python écrite en C sur une machine CentOS. Je reçois
error: Python.h: No such file or directory
Cela fonctionne très bien sur Ubuntu, où j’ai installé python-dev en utilisant apt-get.
J'ai essayé d'installer python-devel en utilisant
yum install python-devel
mais il est déjà installé. Comment puis-je corriger cette erreur?
Sur mon système, le fichier d'en-tête Python.h
se trouve dans le chemin /usr/include/python2.6/
. Comme ce chemin n'est pas recherché par le pré-processeur par défaut, vous devez l'ajouter à la liste des chemins à rechercher. Ceci est fait avec l'option -I
au compilateur, comme ceci:
$ gcc -I/usr/include/python2.6 source.c -o program
Remplacez le chemin ci-dessus par le chemin réel sur votre système. Vous pouvez le trouver avec la commande find
telle que proposée dans un commentaire, ou avec la commande locate
si elle est installée.
Si vous utilisez python3, vous pouvez installer python34-devel pour cela
Il est disponible sur EPEL Repository et a le paquet python34-devel disponible
Il vous suffit simplement d'exécuter cette commande pour l'installer
yum install python34-devel
J'espère que c'est de l'aide
* note À l'heure actuelle, python34-devel
est la version la plus récente de python 3.
Installez les packages python3.4
(include pip) et python3.4-dev
sur Centos6.X:
yum install http://dl.iuscommunity.org/pub/ius/stable/CentOS/6/x86_64/python34u-3.4.2-1.ius.centos6.x86_64.rpm
yum install http://dl.iuscommunity.org/pub/ius/stable/CentOS/6/x86_64/python34u-devel-3.4.2-1.ius.centos6.x86_64.rpm
J'ai eu un problème similaire où Python par défaut était de 2,7 mais où pip s'exécutait contre 3.4 et je voulais utiliser la 2.7. Alors j'ai fait: yum remove python34-pip
et yum install python2-pip
. Résolu!
Moi aussi j'ai eu le même problème.
./python/py_defines.h:39:20: erreur fatale: Python.h: Aucun fichier de ce type ou annuaire
Alors que la commande find a montré que le python.h
existe.
Les solutions ci-dessus ne fonctionnaient pas, mais l'exécution de la commande ci-dessous fonctionnait pour moi.
yum install python27-python-devel.x86_64
Pas très différent mais beaucoup de temps perdu.
Cela dépend du Python que vous avez!
Vous avez besoin d'un package dev
, la version X.X.X pour Python X.X.X dont vous disposez, vous pouvez effectuer une recherche sur https://centos.pkgs.org/7/ius-x86_64 .
Par exemple, si vous avez Python 3.6.5 d'IUS, vous devez installer https://centos.pkgs.org/7/ius-x86_64/python36u-devel-3.6.5-1.ius.centos7.x86_64. .rpm.html .