I'm trying to install lmxl
on my Windows 8.1 laptop with Python 3.4 and failing miserably.
First off, I tried the simple and obvious solution: pip install lxml
. However, this didn't work. Here's what it said:
Downloading/unpacking lxml Running setup.py (path:C:\Users\CARTE_~1\AppData\Local\Temp\pip_build_carte_000\lxml\setup.py) egg_info for package lxml Building lxml version 3.4.2. Building without Cython. ERROR: b"'xslt-config' is not recognized as an internal or external command,\r\noperable program or batch file.\r\n" ** make sure the development packages of libxml2 and libxslt are installed ** Using build configuration of libxslt C:\Python34\lib\distutils\dist.py:260: UserWarning: Unknown distribution option: 'bugtrack_url' warnings.warn(msg) warning: no previously-included files found matching '*.py' Installing collected packages: lxml Running setup.py install for lxml Building lxml version 3.4.2. Building without Cython. ERROR: b"'xslt-config' is not recognized as an internal or external command,\r\noperable program or batch file.\r\n" ** make sure the development packages of libxml2 and libxslt are installed ** Using build configuration of libxslt building 'lxml.etree' extension C:\Python34\lib\distutils\dist.py:260: UserWarning: Unknown distribution option: 'bugtrack_url' warnings.warn(msg) error: Unable to find vcvarsall.bat Complete output from command C:\Python34\python.exe -c "import setuptools, tokenize;__file__='C:\\Users\\CARTE_~1\\AppData\\Local\\Temp\\pip_build_carte_000\\lxml\\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record C:\Users\CARTE_~1\AppData\Local\Temp\pip-l8vvrv9g-record\install-record.txt --single-version-externally-managed --compile: Building lxml version 3.4.2. Building without Cython. ERROR: b"'xslt-config' is not recognized as an internal or external command,\r\noperable program or batch file.\r\n" ** 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-3.4 creating build\lib.win32-3.4\lxml copying src\lxml\builder.py -> build\lib.win32-3.4\lxml copying src\lxml\cssselect.py -> build\lib.win32-3.4\lxml copying src\lxml\doctestcompare.py -> build\lib.win32-3.4\lxml copying src\lxml\ElementInclude.py -> build\lib.win32-3.4\lxml copying src\lxml\pyclasslookup.py -> build\lib.win32-3.4\lxml copying src\lxml\sax.py -> build\lib.win32-3.4\lxml copying src\lxml\usedoctest.py -> build\lib.win32-3.4\lxml copying src\lxml\_elementpath.py -> build\lib.win32-3.4\lxml copying src\lxml\__init__.py -> build\lib.win32-3.4\lxml creating build\lib.win32-3.4\lxml\includes copying src\lxml\includes\__init__.py -> build\lib.win32-3.4\lxml\includes creating build\lib.win32-3.4\lxml\html copying src\lxml\html\builder.py -> build\lib.win32-3.4\lxml\html copying src\lxml\html\clean.py -> build\lib.win32-3.4\lxml\html copying src\lxml\html\defs.py -> build\lib.win32-3.4\lxml\html copying src\lxml\html\diff.py -> build\lib.win32-3.4\lxml\html copying src\lxml\html\ElementSoup.py -> build\lib.win32-3.4\lxml\html copying src\lxml\html\formfill.py -> build\lib.win32-3.4\lxml\html copying src\lxml\html\html5parser.py -> build\lib.win32-3.4\lxml\html copying src\lxml\html\soupparser.py -> build\lib.win32-3.4\lxml\html copying src\lxml\html\usedoctest.py -> build\lib.win32-3.4\lxml\html copying src\lxml\html\_diffcommand.py -> build\lib.win32-3.4\lxml\html copying src\lxml\html\_html5builder.py -> build\lib.win32-3.4\lxml\html copying src\lxml\html\_setmixin.py -> build\lib.win32-3.4\lxml\html copying src\lxml\html\__init__.py -> build\lib.win32-3.4\lxml\html creating build\lib.win32-3.4\lxml\isoschematron copying src\lxml\isoschematron\__init__.py -> build\lib.win32-3.4\lxml\isoschematron copying src\lxml\lxml.etree.h -> build\lib.win32-3.4\lxml copying src\lxml\lxml.etree_api.h -> build\lib.win32-3.4\lxml copying src\lxml\includes\c14n.pxd -> build\lib.win32-3.4\lxml\includes copying src\lxml\includes\config.pxd -> build\lib.win32-3.4\lxml\includes copying src\lxml\includes\dtdvalid.pxd -> build\lib.win32-3.4\lxml\includes copying src\lxml\includes\etreepublic.pxd -> build\lib.win32-3.4\lxml\includes copying src\lxml\includes\htmlparser.pxd -> build\lib.win32-3.4\lxml\includes copying src\lxml\includes\relaxng.pxd -> build\lib.win32-3.4\lxml\includes copying src\lxml\includes\schematron.pxd -> build\lib.win32-3.4\lxml\includes copying src\lxml\includes\tree.pxd -> build\lib.win32-3.4\lxml\includes copying src\lxml\includes\uri.pxd -> build\lib.win32-3.4\lxml\includes copying src\lxml\includes\xinclude.pxd -> build\lib.win32-3.4\lxml\includes copying src\lxml\includes\xmlerror.pxd -> build\lib.win32-3.4\lxml\includes copying src\lxml\includes\xmlparser.pxd -> build\lib.win32-3.4\lxml\includes copying src\lxml\includes\xmlschema.pxd -> build\lib.win32-3.4\lxml\includes copying src\lxml\includes\xpath.pxd -> build\lib.win32-3.4\lxml\includes copying src\lxml\includes\xslt.pxd -> build\lib.win32-3.4\lxml\includes copying src\lxml\includes\etree_defs.h -> build\lib.win32-3.4\lxml\includes copying src\lxml\includes\lxml-version.h -> build\lib.win32-3.4\lxml\includes creating build\lib.win32-3.4\lxml\isoschematron\resources creating build\lib.win32-3.4\lxml\isoschematron\resources\rng copying src\lxml\isoschematron\resources\rng\iso-schematron.rng -> build\lib.win32-3.4\lxml\isoschematron\resources\rng creating build\lib.win32-3.4\lxml\isoschematron\resources\xsl copying src\lxml\isoschematron\resources\xsl\RNG2Schtrn.xsl -> build\lib.win32-3.4\lxml\isoschematron\resources\xsl copying src\lxml\isoschematron\resources\xsl\XSD2Schtrn.xsl -> build\lib.win32-3.4\lxml\isoschematron\resources\xsl creating build\lib.win32-3.4\lxml\isoschematron\resources\xsl\iso-schematron-xslt1 copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_abstract_expand.xsl -> build\lib.win32-3.4\lxml\isoschematron\resources\xsl\iso-schematron-xslt1 copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_dsdl_include.xsl -> build\lib.win32-3.4\lxml\isoschematron\resources\xsl\iso-schematron-xslt1 copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_schematron_message.xsl -> build\lib.win32-3.4\lxml\isoschematron\resources\xsl\iso-schematron-xslt1 copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_schematron_skeleton_for_xslt1.xsl -> build\lib.win32-3.4\lxml\isoschematron\resources\xsl\iso-schematron-xslt1 copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_svrl_for_xslt1.xsl -> build\lib.win32-3.4\lxml\isoschematron\resources\xsl\iso-schematron-xslt1 copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\readme.txt -> build\lib.win32-3.4\lxml\isoschematron\resources\xsl\iso-schematron-xslt1 running build_ext building 'lxml.etree' extension C:\Python34\lib\distutils\dist.py:260: UserWarning: Unknown distribution option: 'bugtrack_url' warnings.warn(msg) error: Unable to find vcvarsall.bat ---------------------------------------- Cleaning up... Command C:\Python34\python.exe -c "import setuptools, tokenize;__file__='C:\\Users\\CARTE_~1\\AppData\\Local\\Temp\\pip_build_carte_000\\lxml\\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record C:\Users\CARTE_~1\AppData\Local\Temp\pip-l8vvrv9g-record\install-record.txt --single-version-externally-managed --compile failed with error code 1 in C:\Users\CARTE_~1\AppData\Local\Temp\pip_build_carte_000\lxml Storing debug log for failure in C:\Users\carte_000\pip\pip.log
So then I looked on this great and helpful thing called The Internet and a lot of people have the same error of needing libxml2
and libxlst
. They recommend a guy called Christoph Gohlke's page where he provides some sort of binary thingy for a bunch of packages. You can find it here (quicklink to the lxml part).
So after I gave up on trying to find libxml2 and libxslt for pip, I decided to go there, and found an absolute ton of downloads. I know I need a 64-bit one, but I have no idea which "cp
" I need.
So an answer either giving me a solution on the pip
method or the Gohlke index method would be great.
You can check if you have the lxml package installed by running the pip show lxml command. Copied! The pip show lxml command will either state that the package is not installed or show a bunch of information about the package, including the location where the package is installed.
lxml has been downloaded from the Python Package Index millions of times and is also available directly in many package distributions, e.g. for Linux or macOS.
Settings->Project->Project Interpreter. After this you should see the interpreter that PyCharm uses to run your project. If you don't see lxml in the package's table, you can press the plus icon in the right corner of the window and type lxml and proceed with the installation.
Or you can also go to Christoph's Gohlke's Python page and then download the right lxml file. (Generally since I use python 3.4 and I have a windows, I download the lxml-3.4.4-cp34-none-win32.whl)
Go to the folder it is in. Click in the background (so nothing is selected), then leftshift + rightclick at the same time and click on open command window. Then type C:/Python34/Scripts/pip install "NAME OF THE FILE YOU JUST DOWNLOADED.whl"
In this case it would be C:/Python34/Scripts/pip install "lxml-3.4.4-cp34-none-win32.whl"
Now hit enter. This worked well for me, and after you type the quote you can also press tab and it should fill the right one for you.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With