python - lib - Comment installer lxml sur Ubuntu




python lxml comment (6)

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

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 n'est 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 en premier, j'arriverai à ./configure --prefix=/usr/local/libxslt --with-libxml-prefix=/usr/local/libxml2 et cela é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 différence.

Ne laissant aucune pierre non retournée, j'ai réussi avec sudo apt-get install libxml2-dev , mais cela ne change rien.


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

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

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 paquets requis ensemble:

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

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 étaient installées, j'ai eu la même erreur encore et encore. Il s'est avéré que ma machine virtuelle avait peu de mémoire par défaut. Avec 1024 Mo tout fonctionne bien.

Ajoutez ceci à votre VagrantFile et lxml devrait correctement compiler / installer:

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


Pour Ubuntu 14.04

sudo apt-get install python-lxml

travaillé pour moi.


Puisque vous êtes sur Ubuntu, ne vous embêtez pas avec ces paquets sources. Installez simplement 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 éventuellement plus ancienne de lxml, vous pouvez essayer

apt-get install python-lxml

et être fait avec. :)







easy-install