Wednesday, 21 June 2017

python - How to install lxml on Ubuntu




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




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


Answer



Since you're on Ubuntu, don't bother with those source packages. Just install those development packages using apt-get.



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



If you're happy with a possibly older version of lxml altogether though, you could try



apt-get install python-lxml


and be done with it. :)


No comments:

Post a Comment

casting - Why wasn't Tobey Maguire in The Amazing Spider-Man? - Movies & TV

In the Spider-Man franchise, Tobey Maguire is an outstanding performer as a Spider-Man and also reprised his role in the sequels Spider-Man...