Cómo instalar lxml en Ubuntu

Estoy teniendo dificultades para instalar lxml con easy_install en Ubuntu 11.

Cuando $ easy_install lxml obtengo:

 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 comstacktion terminated. 

Parece que libxslt o libxml2 no está instalado. He intentado seguir las instrucciones en 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 sin éxito.

Si bash wget ftp://xmlsoft.org/libxml2/libxml2-sources-2.6.27.tar.gz obtengo

  ==> 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 bash el otro primero, ./configure --prefix=/usr/local/libxslt --with-libxml-prefix=/usr/local/libxml2 a ./configure --prefix=/usr/local/libxslt --with-libxml-prefix=/usr/local/libxml2 y eso fallará eventualmente con:

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

He probado las versiones 2.6.27 y 2.6.29 de libxml2 sin ninguna diferencia.

Sin dejar piedra sin remover, he hecho con éxito sudo apt-get install libxml2-dev , pero esto no cambia nada.

Ya que estás en Ubuntu, no te molestes con esos paquetes fuente. Solo instala esos paquetes de desarrollo usando apt-get.

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

Si estás satisfecho con una versión posiblemente más antigua de lxml, podrías probar

 apt-get install python-lxml 

y que se acabe con eso. 🙂

También tuve que instalar lib32z1-dev antes de que lxml comstackra (Ubuntu 13.04 x64).

 sudo apt-get install lib32z1-dev 

O todos los paquetes requeridos juntos:

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

Como @Pepijn comentó en la respuesta de @Druska, en ubuntu 13.04 x64, no hay necesidad de usar lib32z1-dev, zlib1g-dev es suficiente:

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

Instalé lxml con pip en Vagrant, usando Ubuntu 14.04 y tuve el mismo problema. A pesar de que todos los requisitos estaban instalados, recibí el mismo error una y otra vez. Resultó que mi VM tenía poca memoria por defecto. Con 1024 MB todo funciona bien.

Agregue esto a su VagrantFile y lxml debería comstackr / instalar correctamente:

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

Gracias a sixhobbit por la sugerencia (ver: no puedo instalar lxml en Ubuntu 12.04 ).

Para Ubuntu 14.04

sudo apt-get install python-lxml

trabajó para mi.

Después de instalar los paquetes mencionados por AKX todavía tenía el mismo problema. Resuelto con

 apt-get install python-dev 

Paso 1

Instala las últimas actualizaciones de Python usando este comando.

sudo apt-get install python-dev

Paso 2

Agregue la primera dependencia libxml2 versión 2.7.0 o posterior

sudo apt-get install libxml2-dev

Paso 3

Agregue la segunda dependencia libxslt versión 1.1.23 o posterior

sudo apt-get install libxslt1-dev

Etapa 4

Instalar primero la herramienta de gestión de paquetes pip . y ejecuta este comando.

pip install lxml

Si tiene alguna duda haga clic aquí.

Para Ubuntu 12.04.3 LTS (Precise Pangolin) tuve que hacer:

 apt-get install libxml2-dev libxslt1-dev 

(Note el “1” en libxslt1-dev)

Entonces acabo de instalar lxml con pip / easy_install.

Muchas respuestas aquí son bastante antiguas,
Gracias al puntero de @Simplans ( https://stackoverflow.com/a/37759871/417747 ) y la página de inicio …

Lo que funcionó para mí (Ubuntu bionic):

 sudo apt-get install python3-lxml 

(+ sudo apt-get install libxml2-dev libxslt1-dev lo instalé antes, pero no estoy seguro si ese es el requisito aún)

Primero instale el paquete python-lxml y sus dependencias:

 sudo apt-get install python-lxml 

Luego use pip para actualizar a la última versión de lxml para Python:

 pip install lxml