32
votes

I am attempting to install libxml2 so that I can setup the python bindings and eventually use lxml.

However I am unable to work out here on earth I am supposed to be unzipping the files. I haven't been able to google successfully.

Do I need Cygwin/MinGW for the installation to be successful?

At the moment I have the files from the libxml2.tar.gz and libxslt.tar.gz in their respective directories within my Python folder. So files that were in the tars under include are in Python26\include\libxml2\libxml... and so on.

however when i run a easy_install lxml i receive the following output:

Searching for lxml
Reading http://pypi.python.org/simple/lxml/
Reading http://codespeak.net/lxml
Best match: lxml 2.2.4
Downloading http://codespeak.net/lxml/lxml-2.2.4.tgz
Processing lxml-2.2.4.tgz
Running lxml-2.2.4\setup.py -q bdist_egg --dist-dir c:\users\rocco\appdata\local
\temp\easy_install-1xwbhy\lxml-2.2.4\egg-dist-tmp-9zwhe4
Building lxml version 2.2.4.
NOTE: Trying to build without Cython, pre-generated 'src/lxml/lxml.etree.c' need
s to be available.
ERROR: 'xslt-config' is not recognized as an internal or external command,
operable program or batch file.

** make sure the development packages of libxml2 and libxslt are installed **

Using build configuration of libxslt
warning: no files found matching 'lxml.etree.c' under directory 'src\lxml'
warning: no files found matching 'lxml.objectify.c' under directory 'src\lxml'
warning: no files found matching 'lxml.etree.h' under directory 'src\lxml'
warning: no files found matching 'lxml.etree_api.h' under directory 'src\lxml'
warning: no files found matching 'etree_defs.h' under directory 'src\lxml'
warning: no files found matching 'pubkey.asc' under directory 'doc'
warning: no files found matching 'tagpython*.png' under directory 'doc'
error: Setup script exited with error: Unable to find vcvarsall.bat

Any help whatsoever would be very helpful as I've been trying to get this going for over a week now :(

Thanks

5
I've got the same problem, trying to install lxml 2.2.6 (I also tried 2.2.4 and 2.2.5). Irritatingly, I had to resort to using the prebuilt library for 2.2.2 as suggested by S.Mark below. It would be great if someone could compile the 2.2.6 version for Python 2.6 (there's a 2.4 and 2.5 build, after all) :/ - ropable

5 Answers

28
votes

If you don't have special reasons to compile from source, you can use prebuilt binaries for lxml

33
votes

The Windows binaries of the latest version of lxml (as well as a wide range of other Python packages) are available on http://www.lfd.uci.edu/~gohlke/pythonlibs/

3
votes

If you are using python 2.5.x, just use "easy_install lxml==2.2.2" to install

3
votes

Realize this is an old topic but have had issues installing this on windows.

I have Python version 3.4.4.

When attempting to install whl files make sure you are using the correct version for your version of python.

so in this case i needed to use

lxml‑3.4.4‑cp34‑none‑win_amd64.whl

and not the latest which was

lxml‑3.4.4‑cp35‑none‑win_amd64.whl

cp34 indicates the python version its built for.

Trap for new players...!

0
votes

It appears that the program "xslt-config" is not located in a directory in your PATH environment. Here's an article on setting PATH on Windows:

http://www.cs.usask.ca/~wew036/latex/env.html