Das ist mein Fehler:
(mysite)zjm1126@zjm1126-G41MT-S2:~/zjm_test/mysite$ pip install lxml
Downloading/unpacking lxml
Running setup.py egg_info for package lxml
Building lxml version 2.3.
Building without Cython.
ERROR: /bin/sh: xslt-config: not found
** make sure the development packages of libxml2 and libxslt are installed **
Using build configuration of libxslt
Installing collected packages: lxml
Running setup.py install for lxml
Building lxml version 2.3.
Building without Cython.
ERROR: /bin/sh: xslt-config: not found
** make sure the development packages of libxml2 and libxslt are installed **
Using build configuration of libxslt
building 'lxml.etree' extension
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.6 -c src/lxml/lxml.etree.c -o build/temp.linux-i686-2.6/src/lxml/lxml.etree.o -w
src/lxml/lxml.etree.c:4: fatal error: Python.h: 没有那个文件或目录
compilation terminated.
error: command 'gcc' failed with exit status 1
Complete output from command /home/zjm1126/zjm_test/mysite/bin/python -c "import setuptools;__file__='/home/zjm1126/zjm_test/mysite/build/lxml/setup.py';execfile(__file__)" install --single-version-externally-managed --record /tmp/pip-jOhgvD-record/install-record.txt --install-headers /home/zjm1126/zjm_test/mysite/include/site/python2.6:
Building lxml version 2.3.
Building without Cython.
ERROR: /bin/sh: xslt-config: not found
** make sure the development packages of libxml2 and libxslt are installed **
Using build configuration of libxslt
running install
running build
running build_py
running build_ext
building 'lxml.etree' extension
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.6 -c src/lxml/lxml.etree.c -o build/temp.linux-i686-2.6/src/lxml/lxml.etree.o -w
src/lxml/lxml.etree.c:4: fatal error: Python.h: 没有那个文件或目录
compilation terminated.
error: command 'gcc' failed with exit status 1
----------------------------------------
Command /home/zjm1126/zjm_test/mysite/bin/python -c "import setuptools;__file__='/home/zjm1126/zjm_test/mysite/build/lxml/setup.py';execfile(__file__)" install --single-version-externally-managed --record /tmp/pip-jOhgvD-record/install-record.txt --install-headers /home/zjm1126/zjm_test/mysite/include/site/python2.6 failed with error code 1
Storing complete log in /home/zjm1126/.pip/pip.log
Was kann ich tun?
Aktualisiert:
(mysite)zjm1126@zjm1126-G41MT-S2:~/zjm_test/mysite$ pip install lxml
Downloading/unpacking lxml
Running setup.py egg_info for package lxml
Building lxml version 2.3.
Building without Cython.
Using build configuration of libxslt 1.1.26
Building against libxml2/libxslt in the following directory: /usr/lib
Installing collected packages: lxml
Running setup.py install for lxml
Building lxml version 2.3.
Building without Cython.
Using build configuration of libxslt 1.1.26
Building against libxml2/libxslt in the following directory: /usr/lib
building 'lxml.etree' extension
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/libxml2 -I/usr/include/python2.6 -c src/lxml/lxml.etree.c -o build/temp.linux-i686-2.6/src/lxml/lxml.etree.o -w
src/lxml/lxml.etree.c:4: fatal error: Python.h: 没有那个文件或目录
compilation terminated.
error: command 'gcc' failed with exit status 1
Complete output from command /home/zjm1126/zjm_test/mysite/bin/python -c "import setuptools;__file__='/home/zjm1126/zjm_test/mysite/build/lxml/setup.py';execfile(__file__)" install --single-version-externally-managed --record /tmp/pip-NJw2ws-record/install-record.txt --install-headers /home/zjm1126/zjm_test/mysite/include/site/python2.6:
Building lxml version 2.3.
Building without Cython.
Using build configuration of libxslt 1.1.26
Building against libxml2/libxslt in the following directory: /usr/lib
running install
running build
running build_py
running build_ext
building 'lxml.etree' extension
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/libxml2 -I/usr/include/python2.6 -c src/lxml/lxml.etree.c -o build/temp.linux-i686-2.6/src/lxml/lxml.etree.o -w
src/lxml/lxml.etree.c:4: fatal error: Python.h: 没有那个文件或目录
compilation terminated.
error: command 'gcc' failed with exit status 1
----------------------------------------
Command /home/zjm1126/zjm_test/mysite/bin/python -c "import setuptools;__file__='/home/zjm1126/zjm_test/mysite/build/lxml/setup.py';execfile(__file__)" install --single-version-externally-managed --record /tmp/pip-NJw2ws-record/install-record.txt --install-headers /home/zjm1126/zjm_test/mysite/include/site/python2.6 failed with error code 1
Storing complete log in /home/zjm1126/.pip/pip.log
das Protokoll:
------------------------------------------------------------
/home/zjm1126/zjm_test/mysite/bin/pip run on Thu Mar 3 17:07:27 2011
Downloading/unpacking mysql-python
Running setup.py egg_info for package mysql-python
running egg_info
creating pip-egg-info/MySQL_python.egg-info
writing pip-egg-info/MySQL_python.egg-info/PKG-INFO
writing top-level names to pip-egg-info/MySQL_python.egg-info/top_level.txt
writing dependency_links to pip-egg-info/MySQL_python.egg-info/dependency_links.txt
writing pip-egg-info/MySQL_python.egg-info/PKG-INFO
writing top-level names to pip-egg-info/MySQL_python.egg-info/top_level.txt
writing dependency_links to pip-egg-info/MySQL_python.egg-info/dependency_links.txt
writing manifest file 'pip-egg-info/MySQL_python.egg-info/SOURCES.txt'
warning: manifest_maker: standard file '-c' not found
reading manifest file 'pip-egg-info/MySQL_python.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching 'MANIFEST'
warning: no files found matching 'ChangeLog'
warning: no files found matching 'GPL'
writing manifest file 'pip-egg-info/MySQL_python.egg-info/SOURCES.txt'
Installing collected packages: mysql-python
Running setup.py install for mysql-python
Running command /home/zjm1126/zjm_test/mysite/bin/python -c "import setuptools;__file__='/home/zjm1126/zjm_test/mysite/build/mysql-python/setup.py';execfile(__file__)" install --single-version-externally-managed --record /tmp/pip-XuVIux-record/install-record.txt --install-headers /home/zjm1126/zjm_test/mysite/include/site/python2.6
running install
running build
running build_py
creating build
creating build/lib.linux-i686-2.6
copying _mysql_exceptions.py -> build/lib.linux-i686-2.6
creating build/lib.linux-i686-2.6/MySQLdb
copying MySQLdb/__init__.py -> build/lib.linux-i686-2.6/MySQLdb
copying MySQLdb/converters.py -> build/lib.linux-i686-2.6/MySQLdb
copying MySQLdb/connections.py -> build/lib.linux-i686-2.6/MySQLdb
copying MySQLdb/cursors.py -> build/lib.linux-i686-2.6/MySQLdb
copying MySQLdb/release.py -> build/lib.linux-i686-2.6/MySQLdb
copying MySQLdb/times.py -> build/lib.linux-i686-2.6/MySQLdb
creating build/lib.linux-i686-2.6/MySQLdb/constants
copying MySQLdb/constants/__init__.py -> build/lib.linux-i686-2.6/MySQLdb/constants
copying MySQLdb/constants/CR.py -> build/lib.linux-i686-2.6/MySQLdb/constants
copying MySQLdb/constants/FIELD_TYPE.py -> build/lib.linux-i686-2.6/MySQLdb/constants
copying MySQLdb/constants/ER.py -> build/lib.linux-i686-2.6/MySQLdb/constants
copying MySQLdb/constants/FLAG.py -> build/lib.linux-i686-2.6/MySQLdb/constants
copying MySQLdb/constants/REFRESH.py -> build/lib.linux-i686-2.6/MySQLdb/constants
copying MySQLdb/constants/CLIENT.py -> build/lib.linux-i686-2.6/MySQLdb/constants
running build_ext
building '_mysql' extension
creating build/temp.linux-i686-2.6
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -Dversion_info=(1,2,3,'final',0) -D__version__=1.2.3 -I/usr/include/mysql -I/usr/include/python2.6 -c _mysql.c -o build/temp.linux-i686-2.6/_mysql.o -DBIG_JOINS=1 -fno-strict-aliasing -DUNIV_LINUX -DUNIV_LINUX
In file included from _mysql.c:29:
pymemcompat.h:10: fatal error: Python.h: 没有那个文件或目录
compilation terminated.
error: command 'gcc' failed with exit status 1
Complete output from command /home/zjm1126/zjm_test/mysite/bin/python -c "import setuptools;__file__='/home/zjm1126/zjm_test/mysite/build/mysql-python/setup.py';execfile(__file__)" install --single-version-externally-managed --record /tmp/pip-XuVIux-record/install-record.txt --install-headers /home/zjm1126/zjm_test/mysite/include/site/python2.6:
running install
running build
running build_py
creating build
creating build/lib.linux-i686-2.6
copying _mysql_exceptions.py -> build/lib.linux-i686-2.6
creating build/lib.linux-i686-2.6/MySQLdb
copying MySQLdb/__init__.py -> build/lib.linux-i686-2.6/MySQLdb
copying MySQLdb/converters.py -> build/lib.linux-i686-2.6/MySQLdb
copying MySQLdb/connections.py -> build/lib.linux-i686-2.6/MySQLdb
copying MySQLdb/cursors.py -> build/lib.linux-i686-2.6/MySQLdb
copying MySQLdb/release.py -> build/lib.linux-i686-2.6/MySQLdb
copying MySQLdb/times.py -> build/lib.linux-i686-2.6/MySQLdb
creating build/lib.linux-i686-2.6/MySQLdb/constants
copying MySQLdb/constants/__init__.py -> build/lib.linux-i686-2.6/MySQLdb/constants
copying MySQLdb/constants/CR.py -> build/lib.linux-i686-2.6/MySQLdb/constants
copying MySQLdb/constants/FIELD_TYPE.py -> build/lib.linux-i686-2.6/MySQLdb/constants
copying MySQLdb/constants/ER.py -> build/lib.linux-i686-2.6/MySQLdb/constants
copying MySQLdb/constants/FLAG.py -> build/lib.linux-i686-2.6/MySQLdb/constants
copying MySQLdb/constants/REFRESH.py -> build/lib.linux-i686-2.6/MySQLdb/constants
copying MySQLdb/constants/CLIENT.py -> build/lib.linux-i686-2.6/MySQLdb/constants
running build_ext
building '_mysql' extension
creating build/temp.linux-i686-2.6
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -Dversion_info=(1,2,3,'final',0) -D__version__=1.2.3 -I/usr/include/mysql -I/usr/include/python2.6 -c _mysql.c -o build/temp.linux-i686-2.6/_mysql.o -DBIG_JOINS=1 -fno-strict-aliasing -DUNIV_LINUX -DUNIV_LINUX
In file included from _mysql.c:29:
pymemcompat.h:10: fatal error: Python.h: 没有那个文件或目录
compilation terminated.
error: command 'gcc' failed with exit status 1
----------------------------------------
Command /home/zjm1126/zjm_test/mysite/bin/python -c "import setuptools;__file__='/home/zjm1126/zjm_test/mysite/build/mysql-python/setup.py';execfile(__file__)" install --single-version-externally-managed --record /tmp/pip-XuVIux-record/install-record.txt --install-headers /home/zjm1126/zjm_test/mysite/include/site/python2.6 failed with error code 1
Exception information:
Traceback (most recent call last):
File "/home/zjm1126/zjm_test/mysite/lib/python2.6/site-packages/pip-0.8.1-py2.6.egg/pip/basecommand.py", line 130, in main
self.run(options, args)
File "/home/zjm1126/zjm_test/mysite/lib/python2.6/site-packages/pip-0.8.1-py2.6.egg/pip/commands/install.py", line 228, in run
requirement_set.install(install_options, global_options)
File "/home/zjm1126/zjm_test/mysite/lib/python2.6/site-packages/pip-0.8.1-py2.6.egg/pip/req.py", line 1043, in install
requirement.install(install_options, global_options)
File "/home/zjm1126/zjm_test/mysite/lib/python2.6/site-packages/pip-0.8.1-py2.6.egg/pip/req.py", line 559, in install
cwd=self.source_dir, filter_stdout=self._filter_install, show_stdout=False)
File "/home/zjm1126/zjm_test/mysite/lib/python2.6/site-packages/pip-0.8.1-py2.6.egg/pip/__init__.py", line 249, in call_subprocess
% (command_desc, proc.returncode))
InstallationError: Command /home/zjm1126/zjm_test/mysite/bin/python -c "import setuptools;__file__='/home/zjm1126/zjm_test/mysite/build/mysql-python/setup.py';execfile(__file__)" install --single-version-externally-managed --record /tmp/pip-XuVIux-record/install-record.txt --install-headers /home/zjm1126/zjm_test/mysite/include/site/python2.6 failed with error code 1
Antworten:
In der lxml-Dokumentation wird davon ausgegangen, dass Sie eine Debian-basierte Distribution ausführen :
Für Debian-basierte Systeme sollte es ausreichen, die bekannten Build-Abhängigkeiten von
python-lxml
oder zu installierenpython3-lxml
, zquelle
Python.h
fehlt, also installieren Sie auch python2.6-dev:sudo apt-get install python2.6-dev
Das hat bei mir funktioniert:
quelle
Wenn Sie Ubuntu / Lubuntu 13.04 oder Ubuntu 13.10 verwenden und ein Problem mit "/ usr / bin / ld: -lz kann nicht gefunden werden" haben, müssen Sie möglicherweise auch das Paket zlib1g-dev installieren:
Alles zusammen:
quelle
zlib1g-dev
war die fehlende Bibliothek auch für mich unter Ubuntu 14.04.Nein, Sie vermissen die Python-Header-Dateien. Dies geschieht meistens unter Linux, wenn Sie das System Python verwenden (es gibt Gründe, dies nicht zu tun , aber das ist eine andere Frage).
Sie müssen wahrscheinlich ein Paket installieren, und es heißt wahrscheinlich python-dev oder python-devel.
oder
Oder so ähnlich.
quelle
python2.6-dev
.python3-dev
an Python3 arbeiten mussteIch habe dieses Problem gelöst, indem ich meinen Server-RAM vergrößert habe.
Ich hatte nur 512 MB und als ich auf 1 GB aktualisierte, hatte ich kein Problem.
Ich habe zuvor auch jedes Paket manuell installiert, um das Problem zu beheben, bin mir aber nicht sicher, ob dies ein notwendiger Schritt ist.
quelle
Unter Windows ich den gleichen Fehler unter ich versuchte, Python 3.4 manuell zu installieren, nachdem es unter 3.3 installiert worden war. Ich konnte es endlich lösen, indem ich das Rad installierte und pip aus dem Python34-Verzeichnis ausführte.
1) Rad von hier herunterladen: http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml
2)
cd Python34\Scripts
3)
pip.exe C:\Users\Home\Downloads\lxml- ......... .whl
quelle
pip.exe install C:\Users\<user>\Downloads\lxml-3.6.4-cp35-cp35m-win_amd64.whl
Installieren Sie einfach die Anforderungen:
Jetzt können Sie es mit dem Pip-Paketverwaltungstool installieren:
quelle
quelle
Ich benutze Ubuntu 14.04 und dies löst das Problem für mich
quelle
quelle
Die Installation einer lxml-Binärdatei würde den Trick tun. Überprüfen Sie dies
quelle
und versuchen Sie dann, Python-Setuptools zu aktualisieren
Dies sollte es beheben.
quelle
Ich hatte dieses Problem mit einer Pip-Installation von lxml. Meine CentOS-Instanz verwendete Python 2.6, das diesen Fehler auslöste.
Um dies zu umgehen, habe ich Folgendes getan, um mit Python 2.7 zu laufen:
sudo yum install python-devel
sudo yum install libxslt-devel libxml2-devel
/usr/bin/python2.7 YOUR_PYTHON_COMMAND
(Für mich war es/usr/bin/python2.7 -m pip install lxml
)quelle
pymemcompat.h:10: fatal error: Python.h: 没有那个文件或目录
Junge, du solltest dein Fehlerprotokoll mit posten
LANG=C
sonst können die Leute die wahre Ursache nicht aus deinem Protokoll ermitteln. Das obige Protokoll sagt: Keine solche Datei oder kein solches Verzeichnis.Das heißt, Sie sollten das Entwicklungspaket von Python installieren. Das ist normalerweise "Python-Dev" in der Distribution mit Debian-Geschmack und "Python-Devel" in der Distribution mit RHEL-Geschmack.
quelle
Bei allen obigen Antworten wird davon ausgegangen, dass der Benutzer Zugriff auf ein privilegiertes / Root-Konto hat, um die erforderlichen Bibliotheken zu installieren. Um es lokal zu installieren, müssen Sie die folgenden Schritte ausführen. Es wurde nur die Übersicht angezeigt, da die Schritte je nach den möglicherweise fehlenden Abhängigkeiten etwas kompliziert werden können
1.Downloaden und kompilieren Sie libxml2-2.9.1 & libxslt-1.1.28 (Versionen können sich ändern)
2.Konfigurieren Sie jeden Installationspfad für libxml und libxslt mithilfe von configure als lokales Verzeichnis. Ex.
./configure --prefix=/home_dir/dependencies/libxslt_path
3. Führen Sie
make
dann ausmake install
4.Downloaden und kompilieren Sie lxml aus dem Quellcode
quelle
Das funktioniert bei mir, 12.04, python2.7.6
quelle
Ich weiß, ich bin zu spät zur Show,
Aber das hilft, wenn nichts anderes klappt
Durch das Festlegen von TMPDIR wird sichergestellt, dass der Build alles ausführen kann, was zum Ausführen erforderlich ist. Durch das Festlegen von STATIC_DEPS wird angewiesen, die eigenen Versionen libxml2 und libxslt2 abzurufen, anstatt die auf dem Server installierten alten Versionen zu verwenden.
quelle
Verwenden von Cygwin 64 unter Windows 8.
Ich habe...
Ich habe alles versucht, bis mir klar wurde, dass eine neue Cygwin-Toolchain die Python-Logik durcheinander gebracht hat. cygwin installiert einen Compiler namens "realgcc", der nicht real ist gcc ist.
Lösung
Installieren Sie gcc. Ex:
quelle
Das einzige was mir geholfen hat war
quelle
Ich habe den gleichen Fehler auf meinem Linux-Computer erhalten. Wenn Sie auf die Website gehen , die auch in der Dokumentation enthalten ist. Wenn Sie also einen solchen Fehler auf dem Linux-Computer erhalten , probieren Sie diese Befehle aus.
# apt install libxml2-dev libxslt-dev python-dev
# pip install lxml==3.4.4
quelle
Ich benutze Ubuntu 12 und das funktioniert bei mir:
quelle
Wenn Sie libxml2 und libxslt installiert haben, müssen Sie möglicherweise eine symbolische Verknüpfung zwischen libxml2 und libxslt-Pfad zu python2.6 include path erstellen. Sie können auch versuchen, das Umgebungsargument INCLUDE hinzuzufügen. Da der Befehl gcc nur diesen Pfad durchsucht: -I / usr / include / python2.6.
quelle
Die folgende Datei funktionierte für mich unter Windows https://pypi.python.org/pypi/lxml/3.3.3#downloads
quelle
Unter osx 10.10.5 und in einer virtuellen Umgebung können Sie das Problem möglicherweise wie folgt lösen:
quelle
Ich arbeite auf einem Windows-Computer. Und hier sind einige Hinweise für eine erfolgreiche Installation von lxml (mit Python 2.6 und höher).
Habe folgendes installiert:
Alle sind nicht verfügbar bei a
pip install
.Die Windows-Binärdatei von libxml2 finden Sie hier .
libxslt finden Sie hier .
Nachdem Sie mit den beiden oben genannten fertig sind,
tun :
pip install lxml
.Eine weitere Problemumgehung ist die Verwendung der stabilen Versionen von PyPI oder der inoffiziellen Windows-Binärdateien von Christoph Gohlke ( hier zu finden ).
quelle
Unter Windows 7 mit Cygwin stieß ich auf:
Ich habe es durch Installation behoben
mingw64-x86_64-libxslt
quelle
Für Windows:
quelle
Diese beiden Pakete müssen separat installiert werden und können normalerweise nicht mit
pip
... installiert werden . Daher für FreeBSD:Du solltest gut gehen ...
quelle