在 Windows 8.1 上安装 lxml、libxml2、libxslt

Installing lxml, libxml2, libxslt on Windows 8.1

经过进一步探索,我找到了使用 pip 和 wheel 安装 lxml 的解决方案。欢迎对方法提出补充意见。

我发现 Linux 发行版的现有 Python 文档非常好。对于 Windows... 没那么多。我已将 Linux 系统配置好,但我还需要一些帮助来准备 Windows 8.1 平板电脑。

我的项目需要 Python 3.4 的 lxml 模块。我找到了很多关于如何安装 lxml 的教程,但每一个都失败了。

https://docs.python.org/3/installing/ 我已经从 Windows 命令行下载 "get-pip.py" 并成功 运行 它,结果:

Requirement already up-to-date: pip in c:\python34\lib\site-packages

所以我不认为我有 "pip" 问题。从那里我 运行 来自 Windows cmd 行的以下内容:

python -m pip install lxml

一长串命令滚动浏览,但有几行似乎是我无法解决的错误。

  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 **

Failed building wheel for lxml

最后一部分,全部为红色

Command "C:\Python34\python.exe -c "import setuptools, tokenize;__file__='C:\Users\Owner\AppData\Local\Temp\pip-build-ya3n6wkd\lxml\setup.py';exec(compi
le(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record C:\Users\Owner\AppData\Local\Temp\pip-ytybzl9l-r
ecord\install-record.txt --single-version-externally-managed --compile" failed with error code 1 in C:\Users\Owner\AppData\Local\Temp\pip-build-ya3n6wkd\lxml

任何帮助理解这应该如何工作,或者我做错了什么,将不胜感激。

我能够通过以下步骤修复安装。我希望其他人觉得这有帮助。

我的 "pip" 安装在出现问题之前运行良好。我转到 Windows 命令行并确保安装了 "wheel"。

C:\Python34>python -m pip install wheel
Requirement already satisfied (use --upgrade to upgrade): wheel in c:\python34\lib\site-packages

之后我从 http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml 下载了 lxml 文件并将其放在我的 python 目录 "C:\Python34"

在该目录中我 运行 以下内容:

C:\Python34>python -m pip install lxml-3.4.4-cp34-none-win32.whl

结果是:

Processing c:\python34\lxml-3.4.4-cp34-none-win32.whl
Installing collected packages: lxml
Successfully installed lxml-3.4.4

我打开了 PyCharm 并且 lxml 模块可用。我能够毫无问题地执行代码。

我学到了什么(虽然这可能会被更有知识的人纠正)

  1. 需要使用 pip 和 wheel 安装所需的模块(作为“*.whl”文件)。
  2. 使用 Dropbox 与不同的 PyCharm 安装共享代码文件夹会导致 "workspace.xml" 文件混乱。两台电脑不停地互相覆盖,弄乱了安装路径。

希望对您有所帮助。

我的情况很像这样。我在我的笔记本电脑上安装了 Python 3.4 用于工作,而且我们处于严格的安全状态,所以我不能在没有系统管理员的情况下安装 3.5。

所以我点击了 Python 扩展站点:

http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml

为符合我的规格的 lxml 提取了 wheel 文件:

lxml-3.6.4-cp34-cp34m-win_amd64.whl

然后输入:

pip install lxml-3.6.4-cp34-cp34m-win_amd64.whl

并立即安装。

我不久前开始使用 lxml,当时需要解析一些 html 文件。我以某种方式安装了它,然后一段时间后由于 PC 格式我丢失了安装。

从可用的 binaries/wheels 在 Windows 上安装 lxml 非常简单。下面的 link 有 binaries/wheels 以备不时之需。

http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml

根据您的 Windows 下载 wheel 文件后,您可以发出以下命令 pip install <pathtoyourdownloadedwheelfile>

如果您使用 git-sdk-win32 for Windows,您可以先搜索 libxml2-devellibxml2-pythonlibxslt-devellibxslt-python 通过发出以下命令使用 pacman

pacman -Ss libxml2

pacman -Ss libxslt

然后你可以使用下面的命令安装 lxml

pip install lxml 它可能无法构建轮子(就像它对我所做的那样)但会使用 setup.py

安装 lxml

我只是开始喜欢这个 git-win32-sdk。它帮助我用我在 Linux.

上学到的知识在我的 Windows 上工作

https://github.com/git-for-windows/build-extra/releases

从 lxml 版本 4.2.5 开始,此问题似乎已得到修复。

如果您仍然收到此错误并且您在需求文件中指定了特定版本的 lxml,请尝试更新需求文件以指定 lxml 版本 4.2.5 或更高版本。

我在使用 lxml 4.2.1 时遇到了这个错误。但是当我将要求更改为 lxml 4.2.5 时它被修复了。