I'm having difficulty installing lxml with easy_install on Ubuntu 11.
When I type $ easy_install lxml
I get:
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.
It seems that libxslt
or libxml2
is not installed. I've tried following the instructions at http://www.techsww.com/tutorials/libraries/libxslt/installation/installing_libxslt_on_ubuntu_linux.php and http://www.techsww.com/tutorials/libraries/libxml/installation/installing_libxml_on_ubuntu_linux.php with no success.
If I try wget ftp://xmlsoft.org/libxml2/libxml2-sources-2.6.27.tar.gz
I get
<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'.
If I try the other first, I'll get to ./configure --prefix=/usr/local/libxslt --with-libxml-prefix=/usr/local/libxml2
and that will fail eventually with:
checking for libxml libraries >= 2.6.27... configure: error: Could not find libxml2 anywhere, check ftp://xmlsoft.org/.
I've tried both versions 2.6.27
and 2.6.29
of libxml2
with no difference.
Leaving no stone unturned, I have successfully done sudo apt-get install libxml2-dev
, but this changes nothing.
I installed lxml with pip in Vagrant, using Ubuntu 14.04 and had the same problem. Even though all requirements where installed, i got the same error again and again. Turned out, my VM had to little memory by default. With 1024 MB everything works fine.
Add this to your VagrantFile and lxml should properly compile / install:
Thanks to sixhobbit for the hint (see: can't installing lxml on Ubuntu 12.04).
First install Ubuntu's
python-lxml
package and its dependencies:Then use
pip
to upgrade to the latest version of lxml for Python:After installing the packages mentioned by AKX I still had the same problem. Solved it with
For Ubuntu 12.04.3 LTS (Precise Pangolin) I had to do:
(Note the "1" in libxslt1-dev)
Then I just installed lxml with pip/easy_install.
For Ubuntu 14.04
sudo apt-get install python-lxml
worked for me.
Since you're on Ubuntu, don't bother with those source packages. Just install those development packages using apt-get.
If you're happy with a possibly older version of lxml altogether though, you could try
and be done with it. :)