Ich habe Probleme bei der Installation von lxml mit easy_install unter Ubuntu 11.
Wenn ich tippe, $ easy_install lxml
bekomme ich:
Searching for lxml
Reading http://pypi.python.org/simple/lxml/
Reading http://codespeak.net/lxml
Best match: lxml 2.3
Downloading http://lxml.de/files/lxml-2.3.tgz
Processing lxml-2.3.tgz
Running lxml-2.3/setup.py -q bdist_egg --dist-dir /tmp/easy_install-7UdQOZ/lxml-2.3/egg-dist-tmp-GacQGy
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
In file included from src/lxml/lxml.etree.c:227:0:
src/lxml/etree_defs.h:9:31: fatal error: libxml/xmlversion.h: No such file or directory
compilation terminated.
Es scheint, dass libxslt
oder libxml2
nicht installiert ist. Ich habe versucht, den Anweisungen unter http://www.techsww.com/tutorials/libraries/libxslt/installation/installing_libxslt_on_ubuntu_linux.php und http://www.techsww.com/tutorials/libraries/libxml/installation/installing_libx_ zu folgen . PHP ohne Erfolg.
Wenn ich es versuche, wget ftp://xmlsoft.org/libxml2/libxml2-sources-2.6.27.tar.gz
bekomme ich
<successful connection info>
==> SYST ... done. ==> PWD ... done.
==> TYPE I ... done. ==> CWD (1) /libxml2 ... done.
==> SIZE libxml2-sources-2.6.27.tar.gz ... done.
==> PASV ... done. ==> RETR libxml2-sources-2.6.27.tar.gz ...
No such file `libxml2-sources-2.6.27.tar.gz'.
Wenn ich zuerst den anderen probiere, komme ich zu ./configure --prefix=/usr/local/libxslt --with-libxml-prefix=/usr/local/libxml2
und das wird irgendwann scheitern mit:
checking for libxml libraries >= 2.6.27... configure: error: Could not find libxml2 anywhere, check ftp://xmlsoft.org/.
Ich habe beiden Versionen ausprobiert 2.6.27
und 2.6.29
das libxml2
ohne Unterschied.
Ich habe es nicht geschafft sudo apt-get install libxml2-dev
, nichts unversucht zu lassen, aber das ändert nichts.
apt-get install libxml2-dev libxslt-dev
Sie nureasy_install lxml
zlib1g-dev
.zlib1g-dev
ist auch notwendig. Ohne das habe ich den Fehler bekommen/usr/bin/ld: cannot find -lz
.Ich musste auch lib32z1-dev installieren, bevor lxml kompiliert werden konnte (Ubuntu 13.04 x64).
Oder alle erforderlichen Pakete zusammen:
quelle
Da @Pepijn die Antwort von @Druska unter Ubuntu 13.04 x64 kommentierte, muss lib32z1-dev nicht verwendet werden. Zlib1g-dev reicht aus:
quelle
Ich habe lxml mit pip in Vagrant unter Verwendung von Ubuntu 14.04 installiert und hatte das gleiche Problem. Obwohl alle Anforderungen installiert waren, bekam ich immer wieder den gleichen Fehler. Es stellte sich heraus, dass meine VM standardmäßig zu wenig Speicher hatte. Mit 1024 MB funktioniert alles einwandfrei.
Fügen Sie dies zu Ihrer VagrantFile hinzu und lxml sollte ordnungsgemäß kompiliert / installiert werden:
Vielen Dank an sixhobbit für den Hinweis (siehe: lxml kann unter Ubuntu 12.04 nicht installiert werden ).
quelle
Für Ubuntu 14.04
sudo apt-get install python-lxml
arbeitete für mich.
quelle
Schritt 1
Schritt 2
Schritt 3
Schritt 4
Wenn Sie Zweifel haben, klicken Sie hier
quelle
Nach der Installation der von AKX erwähnten Pakete hatte ich immer noch das gleiche Problem. Löste es mit
quelle
Für Ubuntu 12.04.3 LTS (Precise Pangolin) musste ich Folgendes tun:
(Beachten Sie die "1" in libxslt1-dev)
Dann habe ich gerade lxml mit pip / easy_install installiert.
quelle
Ab Ubuntu 18.4 (Bionic Beaver) ist es ratsam, apt anstelle von apt-get zu verwenden, da es eine viel bessere strukturelle Form hat.
Wenn Sie mit einer möglicherweise älteren Version von
lxml
insgesamt zufrieden sind , können Sie es versuchenquelle
Viele Antworten hier sind ziemlich alt,
dank des Zeigers von @Simplans ( https://stackoverflow.com/a/37759871/417747 ) und der Homepage ...
Was hat bei mir funktioniert (Ubuntu bionic):
(+
sudo apt-get install libxml2-dev libxslt1-dev
Ich habe vorher installiert, bin mir aber nicht sicher, ob das noch erforderlich ist)quelle
Installieren Sie zuerst das Ubuntu-
python-lxml
Paket und seine Abhängigkeiten:Verwenden Sie dann
pip
, um auf die neueste Version von lxml für Python zu aktualisieren:quelle