Ich versuche, eine in C geschriebene Python-Erweiterung auf einer CentOS-Maschine zu kompilieren. ich bekomme
error: Python.h: No such file or directory
Es funktioniert gut auf Ubuntu, wo ich Python-dev mit apt-get installiert habe.
Ich habe versucht, Python-devel zu installieren
yum install python-devel
aber es ist bereits installiert. Wie kann ich diesen Fehler beheben?
Auf meinem System befindet sich die Python.h
-Headerdatei im Pfad /usr/include/python2.6/
. Da dieser Pfad standardmäßig nicht vom Vorprozessor durchsucht wird, müssen Sie ihn der Liste der zu durchsuchenden Pfade hinzufügen. Dies geschieht mit der Option -I
für den Compiler wie folgt:
$ gcc -I/usr/include/python2.6 source.c -o program
Ändern Sie den Pfad oben in den tatsächlichen Pfad in Ihrem System. Sie können es entweder mit dem Befehl find
, wie in einem Kommentar vorgeschlagen, oder mit dem Befehl locate
finden, falls installiert.
Wenn Sie python3 verwenden, können Sie dafür python34-devel installieren
Es ist unter EPEL Repository verfügbar und verfügt über python34-devel package
Sie müssen diesen Befehl einfach ausführen, um ihn zu installieren
yum install python34-devel
Ich hoffe es hilft
* note Zurzeit ist python34-devel
die aktuellste Version von Python 3
CentOS 7.4
Python 3.6.6
: yum -y install python36-devel
Python 2
: yum -y install python-devel
Ubuntu
Python 3.6
: apt-get install libpython3.6-dev
Installieren Sie python3.4
(include pip) & python3.4-dev
-Pakete auf 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
Ich hatte ein ähnliches Problem, als der Standardwert für Python 2.7 war, Pip jedoch gegen 3.4 lief und ich wollte 2.7 verwenden. Also habe ich: yum remove python34-pip
und yum install python2-pip
. Ich habe es gelöst!
Ich hatte auch ein ähnliches Problem.
./python/py_defines.h:39:20: schwerwiegender Fehler: Python.h: Keine solche Datei oder Verzeichnis
Während der Suchbefehl zeigte, dass der python.h
existiert.
Die oben genannten Lösungen funktionierten nicht, jedoch funktionierte die unten stehende Befehlsausführung für mich.
yum install python27-python-devel.x86_64
Nicht viel anders, aber viel Zeit verschwendet.
Dies hängt von der Python ab, die Sie haben!
Sie benötigen ein dev
-Paket, die Version X.X.X für Python X.X.X. Sie können unter https://centos.pkgs.org/7/ius-x86_64 suchen.
Wenn Sie beispielsweise Python 3.6.5 von IUS verwenden, müssen Sie https://centos.pkgs.org/7/ius-x86_64/python36u-devel-3.6.5-1.ius.centos7.x86_64 installieren .rpm.html .