lxml install on windows 7 using pip and python 2.7

lxml, pip, python-2.7

Solution

If you have a compiler installed (tested with VS C++ 2008 Express), you can simply run:

`set STATICBUILD=true && pip install lxml `

As pointed out on documentation, setting `STATICBUILD` will tell to lxml's installer to automatically download all its binary dependencies before build.

These `lxml` binary dependencies, that should be present when installing from source, will be downloaded and build together by the installer:

- libxslt

- iconv

- zlib

- libxml2

Bonus: It also works inside a virtualenv.

Problem

When I try to upgrade lxml using pip on my windows 7 machine I get the log printed below. When I uninstall and try to install from scratch I get the same errors. Any ideas? Downloading/unpacking lxml from https://pypi.python.org/packages/source/l/lxml/l xml-3.2.4.tar.gz#md5=cc363499060f615aca1ec8dcc04df331 Downloading lxml-3.2.4.tar.gz (3.3MB): 3.3MB downloaded Running setup.py egg_info for package lxml Building lxml version 3.2.4. Building without Cython. ERROR: Nazwa 'xslt-config' nie jest rozpoznawana jako polecenie wewnętrzne l ub zewnętrzne, program wykonywalny lub plik wsadowy. ``` ** make sure the development packages of libxml2 and libxslt are installed * ``` * ``` Using build configuration of libxslt D:\software\Python27\lib\distutils\dist.py:267: UserWarning: Unknown distrib ution option: 'bugtrack_url' warnings.warn(msg) warning: no files found matching 'lxml.etree.c' under directory 'src\lxml' warning: no files found matching 'lxml.objectify.c' under directory 'src\lxm l' warning: no files found matching 'lxml.etree.h' under directory 'src\lxml' warning: no files found matching 'lxml.etree_api.h' under directory 'src\lxm l' warning: no files found matching 'etree_defs.h' under directory 'src\lxml' warning: no files found matching '*.txt' under directory 'src\lxml\tests' warning: no files found matching 'pubkey.asc' under directory 'doc' warning: no files found matching 'tagpython*.png' under directory 'doc' warning: no files found matching 'Makefile' under directory 'doc' Installing collected packages: lxml Found existing installation: ``` lxml 2.3 Uninstalling lxml: Successfully uninstalled lxml Running setup.py install for lxml Building lxml version 3.2.4. Building without Cython. ERROR: Nazwa 'xslt-config' nie jest rozpoznawana jako polecenie wewnętrzne l ub zewnętrzne, program wykonywalny lub plik wsadowy. ``` ** make sure the development packages of libxml2 and libxslt are installed * ``` * ``` Using build configuration of libxslt building 'lxml.etree' extension D:\software\Microsoft Visual Studio 9.0\VC\BIN\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG ``` -Ic:\users\x\appdata\local\temp\pip_build_x\lxml\src\lxml\inc ludes -ID:\software\Python27\include -ID:\software\Python27\PC /Tcsrc\lxml\lxml. etree.c /Fobuild\temp.win32-2.7\Release\src\lxml\lxml.etree.obj lxml.etree.c c:\users\x\appdata\local\temp\pip_build_x\lxml\src\lxml\includes\etree_d efs.h(9) : fatal error C1083: Cannot open include file: 'libxml/xmlversion.h': N o such file or directory D:\software\Python27\lib\distutils\dist.py:267: UserWarning: Unknown distrib ution option: 'bugtrack_url' warnings.warn(msg) error: command '"D:\software\Microsoft Visual Studio 9.0\VC\BIN\cl.exe"' fai led with exit status 2 Complete output from command D:\software\Python27\python.exe -c "import setu ptools;file='c:\users\x\appdata\local\temp\pip_build_x\lxml\setu p.py';exec(compile(open(file).read().replace('\r\n', '\n'), file, 'exec' ))" install --record c:\users\x\appdata\local\temp\pip-pyyuss-record\install-r ecord.txt --single-version-externally-managed: Building lxml version 3.2.4. Building without Cython. ERROR: Nazwa 'xslt-config' nie jest rozpoznawana jako polecenie wewnętrzne lub z ewnętrzne, program wykonywalny lub plik wsadowy. ** make sure the development packages of libxml2 and libxslt are installed ** Using build configuration of libxslt running install running build running build_py creating build creating build\lib.win32-2.7 creating build\lib.win32-2.7\lxml copying src\lxml\builder.py -> build\lib.win32-2.7\lxml copying src\lxml\cssselect.py -> build\lib.win32-2.7\lxml copying src\lxml\doctestcompare.py -> build\lib.win32-2.7\lxml copying src\lxml\ElementInclude.py -> build\lib.win32-2.7\lxml copying src\lxml\pyclasslookup.py -> build\lib.win32-2.7\lxml copying src\lxml\sax.py -> build\lib.win32-2.7\lxml copying src\lxml\usedoctest.py -> build\lib.win32-2.7\lxml copying src\lxml_elementpath.py -> build\lib.win32-2.7\lxml copying src\lxml__init__.py -> build\lib.win32-2.7\lxml creating build\lib.win32-2.7\lxml\includes copying src\lxml\includes__init__.py -> build\lib.win32-2.7\lxml\includes creating build\lib.win32-2.7\lxml\html copying src\lxml\html\builder.py -> build\lib.win32-2.7\lxml\html copying src\lxml\html\clean.py -> build\lib.win32-2.7\lxml\html copying src\lxml\html\defs.py -> build\lib.win32-2.7\lxml\html copying src\lxml\html\diff.py -> build\lib.win32-2.7\lxml\html copying src\lxml\html\ElementSoup.py -> build\lib.win32-2.7\lxml\html copying src\lxml\html\formfill.py -> build\lib.win32-2.7\lxml\html copying src\lxml\html\html5parser.py -> build\lib.win32-2.7\lxml\html copying src\lxml\html\soupparser.py -> build\lib.win32-2.7\lxml\html copying src\lxml\html\usedoctest.py -> build\lib.win32-2.7\lxml\html copying src\lxml\html_diffcommand.py -> build\lib.win32-2.7\lxml\html copying src\lxml\html_html5builder.py -> build\lib.win32-2.7\lxml\html copying src\lxml\html_setmixin.py -> build\lib.win32-2.7\lxml\html copying src\lxml\html__init__.py -> build\lib.win32-2.7\lxml\html creating build\lib.win32-2.7\lxml\isoschematron copying src\lxml\isoschematron__init__.py -> build\lib.win32-2.7\lxml\isoschema tron copying src\lxml\lxml.etree.h -> build\lib.win32-2.7\lxml copying src\lxml\lxml.etree_api.h -> build\lib.win32-2.7\lxml copying src\lxml\includes\c14n.pxd -> build\lib.win32-2.7\lxml\includes copying src\lxml\includes\config.pxd -> build\lib.win32-2.7\lxml\includes copying src\lxml\includes\dtdvalid.pxd -> build\lib.win32-2.7\lxml\includes copying src\lxml\includes\etreepublic.pxd -> build\lib.win32-2.7\lxml\includes copying src\lxml\includes\htmlparser.pxd -> build\lib.win32-2.7\lxml\includes copying src\lxml\includes\relaxng.pxd -> build\lib.win32-2.7\lxml\includes copying src\lxml\includes\schematron.pxd -> build\lib.win32-2.7\lxml\includes copying src\lxml\includes\tree.pxd -> build\lib.win32-2.7\lxml\includes copying src\lxml\includes\uri.pxd -> build\lib.win32-2.7\lxml\includes copying src\lxml\includes\xinclude.pxd -> build\lib.win32-2.7\lxml\includes copying src\lxml\includes\xmlerror.pxd -> build\lib.win32-2.7\lxml\includes copying src\lxml\includes\xmlparser.pxd -> build\lib.win32-2.7\lxml\includes copying src\lxml\includes\xmlschema.pxd -> build\lib.win32-2.7\lxml\includes copying src\lxml\includes\xpath.pxd -> build\lib.win32-2.7\lxml\includes copying src\lxml\includes\xslt.pxd -> build\lib.win32-2.7\lxml\includes copying src\lxml\includes\etree_defs.h -> build\lib.win32-2.7\lxml\includes copying src\lxml\includes\lxml-version.h -> build\lib.win32-2.7\lxml\includes creating build\lib.win32-2.7\lxml\isoschematron\resources creating build\lib.win32-2.7\lxml\isoschematron\resources\rng copying src\lxml\isoschematron\resources\rng\iso-schematron.rng -> build\lib.win 32-2.7\lxml\isoschematron\resources\rng creating build\lib.win32-2.7\lxml\isoschematron\resources\xsl copying src\lxml\isoschematron\resources\xsl\RNG2Schtrn.xsl -> build\lib.win32-2 .7\lxml\isoschematron\resources\xsl copying src\lxml\isoschematron\resources\xsl\XSD2Schtrn.xsl -> build\lib.win32-2 .7\lxml\isoschematron\resources\xsl creating build\lib.win32-2.7\lxml\isoschematron\resources\xsl\iso-schematron-xsl t1 copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_abstract_e xpand.xsl -> build\lib.win32-2.7\lxml\isoschematron\resources\xsl\iso-schematron -xslt1 copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_dsdl_inclu de.xsl -> build\lib.win32-2.7\lxml\isoschematron\resources\xsl\iso-schematron-xs lt1 copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_schematron _message.xsl -> build\lib.win32-2.7\lxml\isoschematron\resources\xsl\iso-schemat ron-xslt1 copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_schematron _skeleton_for_xslt1.xsl -> build\lib.win32-2.7\lxml\isoschematron\resources\xsl\ iso-schematron-xslt1 copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_svrl_for_x slt1.xsl -> build\lib.win32-2.7\lxml\isoschematron\resources\xsl\iso-schematron- xslt1 copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\readme.txt -> build\lib.win32-2.7\lxml\isoschematron\resources\xsl\iso-schematron-xslt1 running build_ext building 'lxml.etree' extension creating build\temp.win32-2.7 creating build\temp.win32-2.7\Release creating build\temp.win32-2.7\Release\src creating build\temp.win32-2.7\Release\src\lxml D:\software\Microsoft Visual Studio 9.0\VC\BIN\cl.exe /c /nologo /Ox /MD /W3 /GS - /DNDEBUG -Ic:\users\x\appdata\local\temp\pip_build_x\lxml\src\lxml\include s -ID:\software\Python27\include -ID:\software\Python27\PC /Tcsrc\lxml\lxml.etre e.c /Fobuild\temp.win32-2.7\Release\src\lxml\lxml.etree.obj lxml.etree.c c:\users\x\appdata\local\temp\pip_build_x\lxml\src\lxml\includes\etree_defs. h(9) : fatal error C1083: Cannot open include file: 'libxml/xmlversion.h': No su ch file or directory D:\software\Python27\lib\distutils\dist.py:267: UserWarning: Unknown distributio n option: 'bugtrack_url' warnings.warn(msg) error: command '"D:\software\Microsoft Visual Studio 9.0\VC\BIN\cl.exe"' failed with exit status 2 ---------------------------------------- Rolling back uninstall of lxml Cleaning up... Command D:\software\Python27\python.exe -c "import setuptools;file='c:\user s\x\appdata\local\temp\pip_build_x\lxml\setup.py';exec(compile(open(_ file_).read().replace('\r\n', '\n'), file, 'exec'))" install --record c:\u sers\x\appdata\local\temp\pip-pyyuss-record\install-record.txt --single-versio n-externally-managed failed with error code 1 in c:\users\x\appdata\local\temp \pip_build_x\lxml Traceback (most recent call last): File "D:\software\Python27\Scripts\pip-script.py", line 9, in load_entry_point('pip==1.4.1', 'console_scripts', 'pip')() File "D:\software\Python27\lib\site-packages\pip__init__.py", line 148, in ma in return command.main(args[1:], options) File "D:\software\Python27\lib\site-packages\pip\basecommand.py", line 169, in main text = '\n'.join(complete_log) UnicodeDecodeError: 'ascii' codec can't decode byte 0xa9 in position 72: ordinal not in range(128)

Original source

Related problems