问题 使用Visual Studio C ++ 2010 Express在Windows x 86(32位)上安装适用于Python 3.4的lxml


有关

相关问题:

相关答案:

相关评论:

  • 在Windows上为Python 2.7构建lxml
  • “@ziyuang这意味着你使用的是使用Microsoft Visual Studio 2010的Python 3.3。如果是这种情况,那么答案是肯定的,你应该安装这个版本。”

事实

  • Windows x86(32位)
  • 安装了Visual Studio C ++ 2008(从这里)Express和Visual Studio C ++ 2010(从这里
  • Python 3.4.1(显然已编译 更新的版本 比Visual Studio 2008)
  • 我使用pip(或pip3.4.exe;内置到Python 3.4)来 pip install lxml
  • distutils使用Visual Studio C ++ 2010 Express进行编译

我的错误的最后几行,由pip记录:

cl:命令行警告D9025:使用'/ w'覆盖'/ W3'

lxml.etree.c

C:\用户\ NATHAN〜1 \应用程序数据\本地\ TEMP \ pip_build_nathanielanderson \ LXML \ SRC \ LXML \包括\ etree_defs.h(9)   :致命错误C1083:无法打开包含文件:'libxml / xmlversion.h':   无此文件或目录

C:\ Python34 \ lib \ distutils \ dist.py:260:UserWarning:Unknown   分配选项:'bugtrack_url'

warnings.warn(MSG)

错误:命令'C:\ Program Files \ Microsoft Visual Studio   10.0 \ VC \ BIN \ cl.exe'失败,退出状态为2

所以我无法从.egg安装或编译...

追索权

对于这个版本的Python,我也找不到Windows安装程序(exe或msi或其他)

看起来像克里斯  在这里提供一个直接的exe:

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

谢谢,克里斯!任何想法为什么我不能使用pip编译?


10610
2018-05-29 23:06


起源



答案:


我也遇到了这个问题,但上面提供的解决方法对我来说也不起作用。

这是我的系统配置:

  • Win7 64bit
  • python3.3
  • 视觉工作室2013

我尝试在第一个链接中使用该方法 相关问题,但它失败了。此方法是为vs2010使用创建系统变量,该变量实际上是从visual studio 2013中的原始配置复制的。

但是,命令行提示错误“libxml / xmlversion.h”没有suck文件或目录

然后我在互联网上进一步搜索它,得到了一个适用于我的方法。

  1. 下载预编译的lxml插件

    预编译lxml 3.5https://pypi.python.org/pypi/lxml/3.3.5#downloads

    如果您的系统是64位,那么您可以在这里获得x64的非官方版本: http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml (这是我用的)

  2. 在命令行中使用命令安装 easy_install lxml-3.2.1.win32-py3.3.exe

    参考https://pytools.codeplex.com/workitem/1520


9
2017-11-10 08:50



是的,根据我的问题,我需要Gohlke。听起来你需要Gohlke,根据你的规格:64位。你需要Gohlke吗?你会推荐哪个版本的lxml? pypi.python.org/pypi/lxml 列举一些;为什么你的答案提到3.3.5?最后,为什么在可执行文件上使用easy_install,你能不能只打开可执行文件?谢谢。 - The Red Pea
1.是的,正如我所说,我使用lxml 3.4.1 Gohlke版本,这是一个非官方的版本2.实际上,我是一个刚开始学习这个插件的新手。对不起3.版本3.3.5是我最初寻找的,但没有任何可用的组件为python 3.3 4.我认为你可以,我试图在阅读你的问题后执行它...它可以检测到成功将python3.3安装在我的系统中的预告公告中。但我没有真正完成安装过程,因为我已经安装了它。希望这可以帮助! - Craig Yang
大!从中下载预编译的lxml lfd.uci.edu/~gohlke/pythonlibs/#lxml 适合我。 - Dot Cink


答案:


我也遇到了这个问题,但上面提供的解决方法对我来说也不起作用。

这是我的系统配置:

  • Win7 64bit
  • python3.3
  • 视觉工作室2013

我尝试在第一个链接中使用该方法 相关问题,但它失败了。此方法是为vs2010使用创建系统变量,该变量实际上是从visual studio 2013中的原始配置复制的。

但是,命令行提示错误“libxml / xmlversion.h”没有suck文件或目录

然后我在互联网上进一步搜索它,得到了一个适用于我的方法。

  1. 下载预编译的lxml插件

    预编译lxml 3.5https://pypi.python.org/pypi/lxml/3.3.5#downloads

    如果您的系统是64位,那么您可以在这里获得x64的非官方版本: http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml (这是我用的)

  2. 在命令行中使用命令安装 easy_install lxml-3.2.1.win32-py3.3.exe

    参考https://pytools.codeplex.com/workitem/1520


9
2017-11-10 08:50



是的,根据我的问题,我需要Gohlke。听起来你需要Gohlke,根据你的规格:64位。你需要Gohlke吗?你会推荐哪个版本的lxml? pypi.python.org/pypi/lxml 列举一些;为什么你的答案提到3.3.5?最后,为什么在可执行文件上使用easy_install,你能不能只打开可执行文件?谢谢。 - The Red Pea
1.是的,正如我所说,我使用lxml 3.4.1 Gohlke版本,这是一个非官方的版本2.实际上,我是一个刚开始学习这个插件的新手。对不起3.版本3.3.5是我最初寻找的,但没有任何可用的组件为python 3.3 4.我认为你可以,我试图在阅读你的问题后执行它...它可以检测到成功将python3.3安装在我的系统中的预告公告中。但我没有真正完成安装过程,因为我已经安装了它。希望这可以帮助! - Craig Yang
大!从中下载预编译的lxml lfd.uci.edu/~gohlke/pythonlibs/#lxml 适合我。 - Dot Cink


如果您使用的是python 3.4,那么这就是下载链接:

在这里下载

如果您有任何其他配置找到它 这里 根据你的需要。 ;-)


4
2017-12-10 11:00



从第二个链接尝试了Windows 7上的lxml-3.5.0-cp34-none-win32.whl。奇迹般有效。 - chfw
使用上面链接到Gohlke的网站,我无法安装win32版本,但是使用win_amd64版本成功(在我的64位基于Intel的Windows系统上)。将whl文件下载到c:\ Python34 \ Scripts,然后运行 c:\Python34\Scripts>pip install "lxml-3.5.0-cp34-none-win_amd64.whl" 结果:解压缩c:\ python34 \ scripts \ lxml-3.5.0-cp34-none-win_amd64.whl安装收集的软件包:lxml成功安装lxml清理... - EricF


简短版本是:您需要拥有C库 libxml2 (并且 libxslt2)在你建立之前 lxml


作为 lxml 安装文档 说:

除非您使用静态二进制分发(例如,从Windows二进制安装程序),否则您需要安装 libxml2 和 libxslt, 尤其是:

  • libxml2 2.6.21或更高版本。在这里能找到它: http://xmlsoft.org/downloads.html

    • 我们建议使用`libxml2 2.7.8或更高版本。
    • 如果要使用XPath,请不要使用 libxml2 2.6.27。
    • 如果要使用feed解析器接口,尤其是在从unicode字符串解析时,请不要使用 libxml2 2.7.4至2.7.6。
  • libxslt 1.1.15或更高版本。在这里能找到它: http://xmlsoft.org/XSLT/downloads.html

    • 我们推荐 libxslt 1.1.26或更高版本。

从源文档构建 同样从以下开始:

要从源代码构建lxml,需要正确安装libxml2和libxslt,包括头文件。


Windows(与大多数其他平台不同)不附带这些库。你没有在你的“事实”中提到关于拥有它们的任何内容。


并且您显示的错误消息是:

C:\Users\NATHAN~1\AppData\Local\Temp\pip_build_nathanielanderson\lxml\src\lxml\includes\etree_defs.h(9) : 
fatal error C1083: Cannot open include file: 'libxml/xmlversion.h': 
No such file or directory

'libxml/xmlversion.h' 它找不到的是它的一部分 libxml2


值得注意的是,相同的安装文档明确说:

考虑使用PyPI的二进制版本或Christoph Gohlke慷慨提供的非官方Windows二进制文件。

所以,你认为Christoph Gohlke没有提供二进制文件的事实 lxml 意味着你没有找到这些文档。


所以,你可能安装了 libxml2,但不是这样的 lxml2的安装脚本可以找到它。但是所有的证据都表明你更有可能没有它。


2
2017-09-05 00:07