在64位窗口上安装lxml

时间:2016-11-02 18:40:00

标签: lxml python-3.5

所以我正在尝试在我的机器上安装lxml,而我似乎无法让它工作。

我有Windows 8.1 64位和python 3.5

我用过两个

pip install lxml

easy_install lxml

我不断收到此错误消息:

C:\Users\jgarber\Downloads>pip install readability-lxml --upgrade Requirement already up-to-date: readability-lxml in c:\python\lib\site-packages\ readability_lxml-0.6.2-py3.5.egg Requirement already up-to-date: chardet in c:\python\lib\site-packages (from rea dability-lxml) Collecting lxml (from readability-lxml)   Using cached lxml-3.6.4.tar.gz Requirement already up-to-date: cssselect in c:\python\lib\site-packages\csssele ct-1.0.0-py3.5.egg (from readability-lxml) Installing collected packages: lxml   Running setup.py install for lxml ... error
    Complete output from command c:\python\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\jgarber\\AppData\\Local\\Temp\\pip-build-bypbiu8j\ \lxml\\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().r eplace('\r\n', '\n'), __file__, 'exec'))" install --record C:\Users\jgarber\AppD ata\Local\Temp\pip-j8svsde4-record\install-record.txt
--single-version-externall y-managed --compile:
    Building lxml version 3.6.4.
    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.5
    creating build\lib.win32-3.5\lxml
    copying src\lxml\builder.py -> build\lib.win32-3.5\lxml
    copying src\lxml\cssselect.py -> build\lib.win32-3.5\lxml
    copying src\lxml\doctestcompare.py -> build\lib.win32-3.5\lxml
    copying src\lxml\ElementInclude.py -> build\lib.win32-3.5\lxml
    copying src\lxml\pyclasslookup.py -> build\lib.win32-3.5\lxml
    copying src\lxml\sax.py -> build\lib.win32-3.5\lxml
    copying src\lxml\usedoctest.py -> build\lib.win32-3.5\lxml
    copying src\lxml\_elementpath.py -> build\lib.win32-3.5\lxml
    copying src\lxml\__init__.py -> build\lib.win32-3.5\lxml
    creating build\lib.win32-3.5\lxml\includes
    copying src\lxml\includes\__init__.py -> build\lib.win32-3.5\lxml\includes
    creating build\lib.win32-3.5\lxml\html
    copying src\lxml\html\builder.py -> build\lib.win32-3.5\lxml\html
    copying src\lxml\html\clean.py -> build\lib.win32-3.5\lxml\html
    copying src\lxml\html\defs.py -> build\lib.win32-3.5\lxml\html
    copying src\lxml\html\diff.py -> build\lib.win32-3.5\lxml\html
    copying src\lxml\html\ElementSoup.py -> build\lib.win32-3.5\lxml\html
    copying src\lxml\html\formfill.py -> build\lib.win32-3.5\lxml\html
    copying src\lxml\html\html5parser.py -> build\lib.win32-3.5\lxml\html
    copying src\lxml\html\soupparser.py -> build\lib.win32-3.5\lxml\html
    copying src\lxml\html\usedoctest.py -> build\lib.win32-3.5\lxml\html
    copying src\lxml\html\_diffcommand.py -> build\lib.win32-3.5\lxml\html
    copying src\lxml\html\_html5builder.py -> build\lib.win32-3.5\lxml\html
    copying src\lxml\html\_setmixin.py -> build\lib.win32-3.5\lxml\html
    copying src\lxml\html\__init__.py -> build\lib.win32-3.5\lxml\html
    creating build\lib.win32-3.5\lxml\isoschematron
    copying src\lxml\isoschematron\__init__.py -> build\lib.win32-3.5\lxml\isosc hematron
    copying src\lxml\lxml.etree.h -> build\lib.win32-3.5\lxml
    copying src\lxml\lxml.etree_api.h -> build\lib.win32-3.5\lxml
    copying src\lxml\includes\c14n.pxd -> build\lib.win32-3.5\lxml\includes
    copying src\lxml\includes\config.pxd -> build\lib.win32-3.5\lxml\includes
    copying src\lxml\includes\dtdvalid.pxd -> build\lib.win32-3.5\lxml\includes
    copying src\lxml\includes\etreepublic.pxd -> build\lib.win32-3.5\lxml\includ es
    copying src\lxml\includes\htmlparser.pxd -> build\lib.win32-3.5\lxml\include s
    copying src\lxml\includes\relaxng.pxd -> build\lib.win32-3.5\lxml\includes
    copying src\lxml\includes\schematron.pxd -> build\lib.win32-3.5\lxml\include s
    copying src\lxml\includes\tree.pxd -> build\lib.win32-3.5\lxml\includes
    copying src\lxml\includes\uri.pxd -> build\lib.win32-3.5\lxml\includes
    copying src\lxml\includes\xinclude.pxd -> build\lib.win32-3.5\lxml\includes
    copying src\lxml\includes\xmlerror.pxd -> build\lib.win32-3.5\lxml\includes
    copying src\lxml\includes\xmlparser.pxd -> build\lib.win32-3.5\lxml\includes

    copying src\lxml\includes\xmlschema.pxd -> build\lib.win32-3.5\lxml\includes

    copying src\lxml\includes\xpath.pxd -> build\lib.win32-3.5\lxml\includes
    copying src\lxml\includes\xslt.pxd -> build\lib.win32-3.5\lxml\includes
    copying src\lxml\includes\etree_defs.h -> build\lib.win32-3.5\lxml\includes
    copying src\lxml\includes\lxml-version.h -> build\lib.win32-3.5\lxml\include s
    creating build\lib.win32-3.5\lxml\isoschematron\resources
    creating build\lib.win32-3.5\lxml\isoschematron\resources\rng
    copying src\lxml\isoschematron\resources\rng\iso-schematron.rng -> build\lib .win32-3.5\lxml\isoschematron\resources\rng
    creating build\lib.win32-3.5\lxml\isoschematron\resources\xsl
    copying src\lxml\isoschematron\resources\xsl\RNG2Schtrn.xsl -> build\lib.win 32-3.5\lxml\isoschematron\resources\xsl
    copying src\lxml\isoschematron\resources\xsl\XSD2Schtrn.xsl -> build\lib.win 32-3.5\lxml\isoschematron\resources\xsl
    creating build\lib.win32-3.5\lxml\isoschematron\resources\xsl\iso-schematron
-xslt1
    copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_abstra ct_expand.xsl -> build\lib.win32-3.5\lxml\isoschematron\resources\xsl\iso-schema tron-xslt1
    copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_dsdl_i nclude.xsl -> build\lib.win32-3.5\lxml\isoschematron\resources\xsl\iso-schematro n-xslt1
    copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_schema tron_message.xsl -> build\lib.win32-3.5\lxml\isoschematron\resources\xsl\iso-sch ematron-xslt1
    copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_schema tron_skeleton_for_xslt1.xsl -> build\lib.win32-3.5\lxml\isoschematron\resources\ xsl\iso-schematron-xslt1
    copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_svrl_f or_xslt1.xsl -> build\lib.win32-3.5\lxml\isoschematron\resources\xsl\iso-schemat ron-xslt1
    copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\readme.txt 
-> build\lib.win32-3.5\lxml\isoschematron\resources\xsl\iso-schematron-xslt1
    running build_ext
    building 'lxml.etree' extension
    creating build\temp.win32-3.5
    creating build\temp.win32-3.5\Release
    creating build\temp.win32-3.5\Release\src
    creating build\temp.win32-3.5\Release\src\lxml
    C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\cl.exe /c /nologo  /Ox /W3 /GL /DNDEBUG /MD -Isrc\lxml\includes
-Ic:\python\include -Ic:\python\in clude "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" "-IC:\P rogram Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt" "-IC:\Program File s (x86)\Windows Kits\8.1\include\shared" "-IC:\Program Files (x86)\Windows Kits\
8.1\include\um" "-IC:\Program Files (x86)\Windows Kits\8.1\include\winrt" /Tcsrc \lxml\lxml.etree.c /Fobuild\temp.win32-3.5\Release\src\lxml\lxml.etree.obj -w
    cl : Command line warning D9025 : overriding '/W3' with '/w'
    lxml.etree.c
    src\lxml\includes\etree_defs.h(14): fatal error C1083: Cannot open include f ile: 'libxml/xmlversion.h': No such file or directory
    Compile failed: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 14 .0\\VC\\BIN\\cl.exe' failed with exit status 2
    creating Users
    creating Users\jgarber
    creating Users\jgarber\AppData
    creating Users\jgarber\AppData\Local
    creating Users\jgarber\AppData\Local\Temp
    C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\cl.exe /c /nologo  /Ox /W3 /GL /DNDEBUG /MD -I/usr/include/libxml2 "-IC:\Program Files (x86)\Micro soft Visual Studio 14.0\VC\INCLUDE" "-IC:\Program Files (x86)\Windows Kits\10\in clude\10.0.10240.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\8.1\include\shar ed" "-IC:\Program Files (x86)\Windows Kits\8.1\include\um" "-IC:\Program Files ( x86)\Windows Kits\8.1\include\winrt" /TcC:\Users\jgarber\AppData\Local\Temp\xmlX PathInit_qrahzea.c /FoUsers\jgarber\AppData\Local\Temp\xmlXPathInit_qrahzea.obj
    xmlXPathInit_qrahzea.c
    C:\Users\jgarber\AppData\Local\Temp\xmlXPathInit_qrahzea.c(1): fatal error C 1083: Cannot open include file: 'libxml/xpath.h': No such file or directory
    ****************************************************************************
*****
    Could not find function xmlCheckVersion in library libxml2. Is libxml2 insta lled?
    ****************************************************************************
*****
    error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\B IN\\cl.exe' failed with exit status 2

    ---------------------------------------- Command "c:\python\python.exe -u -c "import setuptools, tokenize;__file__='C:\\U sers\\jgarber\\AppData\\Local\\Temp\\pip-build-bypbiu8j\\lxml\\setup.py';exec(co mpile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __ file__, 'exec'))" install --record C:\Users\jgarber\AppData\Local\Temp\pip-j8svs de4-record\install-record.txt --single-version-externally-managed
--compile" fai led with error code 1 in C:\Users\jgarber\AppData\Local\Temp\pip-build-bypbiu8j\ lxml\

我也尝试从http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml下载.whl并尝试手动安装滚轮但收到此错误消息:

C:\Users\jgarber\Downloads>pip install lxml-3.6.4-cp35-cp35m-win_amd64.whl
lxml-3.6.4-cp35-cp35m-win_amd64.whl is not a supported wheel on this platform.

即使使用python -m pip install语句。

此时我不确定我缺少什么,非常感谢任何帮助。

2 个答案:

答案 0 :(得分:2)

默认情况下,Python将在Windows上以32位安装,甚至在64位系统上。因此,要匹配此选项,必须为32位系统选择方向盘。

您可以验证您的Python解释器是否为32位,因为REPL在启动时将如下所示:

Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:01:18) [MSC v.1900 32 bit (Intel)] on win32

你应该在Windows上为Python 3.5选择lxml-3.6.4-cp35-cp35m-win32.whl包(除非你在下载Python时明确选择了64位),这应该可以解决你的问题。

答案 1 :(得分:1)

他们从lxml 4.2.5版本开始解决了此问题。

如果仍然遇到此问题,请查看您的需求文件是否指定了lxml的特定版本。如果是这样,您应该能够通过将指定的版本更新为4.2.5或更高版本来解决该问题。