Comment installer lxml sur Ubuntu

j'ai de la difficulté à installer lxml avec easy_install sur Ubuntu 11.

Quand je tape $ easy_install lxml , j'obtiens:

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.

il semble que libxslt ou libxml2 ne soit pas installé. J'ai essayé de suivre les instructions à http://www.techsww.com/tutorials/libraries/libxslt/installation/installing_libxslt_on_ubuntu_linux.php et http://www.techsww.com/tutorials/libraries/libxml/installation/installing_libxml_on_ubuntu_linux.php sans succès.

Si j'essaye wget ftp://xmlsoft.org/libxml2/libxml2-sources-2.6.27.tar.gz je reçois

<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'.

si j'essaie l'autre d'abord, je vais arriver à ./configure --prefix=/usr/local/libxslt --with-libxml-prefix=/usr/local/libxml2 et qui échouera finalement avec:

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

j'ai essayé les deux versions 2.6.27 et 2.6.29 de libxml2 sans aucune différence.

départ aucune pierre non retournée, j'ai réussi à faire sudo apt-get install libxml2-dev , mais cela ne change rien.

419
demandé sur bluszcz 2011-06-28 14:08:21

9 réponses

depuis que vous êtes sur Ubuntu, ne vous embêtez pas avec ces paquets source. Il suffit d'installer ces paquets de développement en utilisant apt-get.

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

si vous êtes satisfait d'une version plus ancienne de lxml, vous pouvez essayer

apt-get install python-lxml

et qu'on en finisse. :)

911
répondu AKX 2014-04-02 23:30:17

j'ai aussi dû installer lib32z1-dev avant que lxml ne compile (Ubuntu 13.04 x64).

sudo apt-get install lib32z1-dev

ou tous les colis requis ensemble:

sudo apt-get install libxml2-dev libxslt-dev python-dev lib32z1-dev
109
répondu Druska 2013-06-21 23:51:53

comme @Pepijn a commenté sur la réponse de @Druska, sur ubuntu 13.04 x64, il n'est pas nécessaire d'utiliser lib32z1-dev, zlib1g-dev suffit:

sudo apt-get install libxml2-dev libxslt-dev python-dev zlib1g-dev
42
répondu JimmyYe 2014-03-08 00:37:50

j'ai installé lxml avec pip dans Vagrant, en utilisant Ubuntu 14.04 et j'ai eu le même problème. Même si toutes les exigences ont été installées, j'ai eu la même erreur encore et encore. Il s'est avéré que ma VM avait peu de mémoire par défaut. Avec 1024 Mo tout fonctionne très bien.

ajoutez ceci à votre fichier Vagrant et lxml devrait compiler / installer correctement:

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

merci à sixhobbit pour l'indice (voir: ne peut pas installer lxml sur Ubuntu 12.04 ).

14
répondu Chris 2017-05-23 11:47:21

Pour Ubuntu 14.04

sudo apt-get install python-lxml

travaillait pour moi.

9
répondu Wade 2015-07-01 09:32:47

après avoir installé les paquets mentionnés par AKX, j'avais toujours le même problème. Résolu avec

apt-get install python-dev
8
répondu bcoughlan 2014-03-08 00:38:00

Étape 1

installe les dernières mises à jour python en utilisant cette commande.

sudo apt-get install python-dev

Étape 2

ajouter première dépendance libxml2 version 2.7.0 ou ultérieure

sudo apt-get install libxml2-dev

Étape 3

ajouter deuxième dépendance libxslt version 1.1.23 ou ultérieure

sudo apt-get install libxslt1-dev

Étape 4

installer pip outil de gestion de paquets en premier. et l'exécution de cette commande.

pip install lxml

si vous avez le moindre doute Cliquez ici

7
répondu Simplans 2016-06-11 04:19:18

Pour Ubuntu 12.04.3 LTS (Precise Pangolin), j'ai eu à faire:

apt-get install libxml2-dev libxslt1-dev

(Notez le" 1 "dans libxslt1-dev)

puis je viens d'installer lxml avec pip/easy_install.

6
répondu gonz 2013-09-10 18:40:20

première installation du paquet python-lxml D'Ubuntu et de ses dépendances:

sudo apt-get install python-lxml

puis utilisez pip pour passer à la dernière version de lxml pour Python:

pip install lxml
0
répondu Joseph 2016-01-27 10:26:31