455 Stimmen

Wie installiert man lxml unter Ubuntu?

Ich habe Schwierigkeiten bei der Installation von lxml mit easy_install unter Ubuntu 11.

Wenn ich tippe $ easy_install lxml Ich verstehe:

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 ou libxml2 ist nicht installiert. Ich habe versucht, die Anweisungen unter http://www.techsww.com/tutorials/libraries/libxslt/installation/installing_libxslt_on_ubuntu_linux.php y http://www.techsww.com/tutorials/libraries/libxml/installation/installing_libxml_on_ubuntu_linux.php ohne Erfolg.

Wenn ich versuche wget ftp://xmlsoft.org/libxml2/libxml2-sources-2.6.27.tar.gz Ich bekomme

<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 das andere zuerst versuche, komme ich zu ./configure --prefix=/usr/local/libxslt --with-libxml-prefix=/usr/local/libxml2 und das wird irgendwann nicht mehr funktionieren:

checking for libxml libraries >= 2.6.27... configure: error: Could not find libxml2 anywhere, check ftp://xmlsoft.org/.

Ich habe beide Versionen ausprobiert 2.6.27 y 2.6.29 de libxml2 ohne Unterschied.

Ich habe nichts unversucht gelassen und habe erfolgreich sudo apt-get install libxml2-dev aber das ändert nichts.

968voto

AKX Punkte 121150

Da du Ubuntu verwendest, solltest du dich nicht mit den Quellpaketen herumschlagen. Installieren Sie einfach die Entwicklungspakete mit apt-get.

apt-get install libxml2-dev libxslt1-dev python-dev

Wenn Sie jedoch mit einer möglicherweise älteren Version von lxml zufrieden sind, können Sie versuchen

apt-get install python-lxml

und das war's :)

52 Stimmen

Diese Antwort sollte der lxml-Installationsanleitung hinzugefügt werden :) danke +1

1 Stimmen

Diese Antwort beantwortet nicht die Frage im Titel "mit easy_install".

43 Stimmen

Nach der Ausführung apt-get install libxml2-dev libxslt-dev können Sie einfach easy_install lxml

114voto

Druska Punkte 4308

Ich musste auch lib32z1-dev installieren, bevor lxml kompiliert werden konnte (Ubuntu 13.04 x64).

sudo apt-get install lib32z1-dev

Oder alle erforderlichen Pakete zusammen:

sudo apt-get install libxml2-dev libxslt-dev python-dev lib32z1-dev

9 Stimmen

+1. Dieses Paket war auch nach der Installation aller anderen genannten Pakete erforderlich.

1 Stimmen

Ja, ich brauchte das auch auf 13.04

3 Stimmen

Warum braucht es die Kopfzeilen eines lib32-Pakets? Vielleicht würde auch zlib1g-dev funktionieren?

46voto

JimmyYe Punkte 834

Wie @Pepijn auf @Druska 's Antwort kommentiert, auf ubuntu 13.04 x64, gibt es keine Notwendigkeit, lib32z1-dev zu verwenden, zlib1g-dev ist genug:

sudo apt-get install libxml2-dev libxslt-dev python-dev zlib1g-dev

17voto

Chris Punkte 631

Ich installierte lxml mit pip in Vagrant, mit Ubuntu 14.04 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 VagrantDatei hinzu und lxml sollte korrekt kompiliert / installiert werden:

config.vm.provider "virtualbox" do |vb|
  vb.memory = 1024
end

Danke an sixhobbit für den Hinweis (siehe: lxml kann nicht auf Ubuntu 12.04 installiert werden ).

0 Stimmen

Das hat bei mir funktioniert. Danke. Es sagte, dass die Kompilierung mit einem Status von 4 fehlgeschlagen ist, falls das noch jemandem hilft.

0 Stimmen

Diese Antwort hat nichts mit der Frage des Auftraggebers zu tun

13voto

Arun V Jose Punkte 2153

Schritt 1

Installieren Sie die neuesten Python-Updates mit diesem Befehl.

sudo apt-get install python-dev

Schritt 2

Erste Abhängigkeit hinzufügen libxml2 Version 2.7.0 oder höher

sudo apt-get install libxml2-dev

Schritt 3

Zweite Abhängigkeit hinzufügen libxslt Version 1.1.23 oder höher

sudo apt-get install libxslt1-dev

Schritt 4

Installieren Sie pip Paketverwaltungstool und führen Sie diesen Befehl aus.

pip install lxml

Wenn Sie Zweifel haben Hier klicken

1 Stimmen

Dies war die einzige Option, die unter Ubuntu 20.04 funktionierte

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X