在Windows 10上安装Python3.5的lxml、libxml2和libxslt

2024-06-16 16:07:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我首先尝试为它运行基本的pip install命令:

C:\Program Files (x86)\Python35-32>pip install lxml
Collecting lxml
  Using cached lxml-3.6.4.tar.gz
Building wheels for collected packages: lxml
  Running setup.py bdist_wheel for lxml ... error
  Complete output from command "c:\program files (x86)\python35-32\python.exe" -u -c "import setuptools, tokenize;__file__='C:\\Users\\Djidiouf\\AppData\\Local\\Temp\\pip-build-ovqa6ncd\\lxml\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d C:\Users\Djidiouf\AppData\Local\Temp\tmp9hzx5gztpip-wheel- --python-tag cp35:
  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 **


  C:\Users\Djidiouf\AppData\Local\Temp\xmlXPathInitbqgvj3pt.c(1): fatal error C1083: Cannot open include file: 'libxml/xpath.h': No such file or directory
  *********************************************************************************
    Could not find function xmlCheckVersion in library libxml2. Is libxml2 installed?
    *********************************************************************************
    error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\cl.exe' failed with exit status 2

    ----------------------------------------
Command ""c:\program files (x86)\python35-32\python.exe" -u -c "import setuptools, tokenize;__file__='C:\\Users\\Djidiouf\\AppData\\Local\\Temp\\pip-build-ovqa6ncd\\lxml\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\Djidiouf\AppData\Local\Temp\pip-kk7fdpzx-record\install-record.txt --single-version-externally-managed --compile" failed with error code 1 in C:\Users\Djidiouf\AppData\Local\Temp\pip-build-ovqa6ncd\lxml\

我试图安装libxml2:

C:\Program Files (x86)\Python35-32>pip install libxml2
Collecting libxml2
  Could not find a version that satisfies the requirement libxml2 (from versions: )
No matching distribution found for libxml2

我还尝试安装libxslt:

C:\Program Files (x86)\Python35-32>pip install libxslt
Collecting libxslt
  Could not find a version that satisfies the requirement libxslt (from versions: )
No matching distribution found for libxslt

我还试图从源代码(https://github.com/lxml/lxml)构建lxml,但它也需要libxml2依赖项。

http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml下载lxml文件后,我也尝试用wheel安装它:

C:\Program Files (x86)\Python35-32>pip install C:\Users\Djidiouf\Downloads\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.

这个控制盘文件似乎不支持Windows10或Python3.5。

任何帮助都将不胜感激。


Tags: installpiplocalfilesprogramlxmlusersappdata
1条回答
网友
1楼 · 发布于 2024-06-16 16:07:32

^ }使用^ {CD2>},^ {CD3>}(背景),但^ {< CD2>},^ {< CD3>}不是Python模块——它是C/C++库。所以你不能用pip安装它们。你必须手动下载并安装它们。

您可以在Unofficial Windows Binaries for Python Extension Packages上找到Windows的预编译lxml

  • cp35在文件名中表示Python 3.5的版本。
  • win32在文件名中表示32位Python的版本。
  • amd64在文件名中表示64位Python的版本。

您可能使用32位Python,因为我在您的路径中看到了32(x86)

C:\program files (x86)\python35-32\python.exe

你也应该在这个页面上找到指向libxml2libxslt的链接。这个库有.dll和.exe文件,您可以将它们放在PATH变量中的任何文件夹中。库大多安装在C:\Windows或子文件夹中。

^ {CD2>},^ {< CD3>}也可能有C/C++头文件^ {CD18>},编译^ ^ }时可能需要这些文件。(在Linux上,这些文件在单独的包中 libxml2-devlibxslt-dev


顺便说一下:您可以使用Anaconda分布(而不是Python.org分布)。它安装相同的Python,但带有一些预编译模块(即,它自动安装lxml)。Anaconda可能是Windows用户的最佳解决方案。

所有模块的列表:https://docs.continuum.io/anaconda/pkg-docs

相关问题 更多 >