在lxml中使用etree时出错

San*_*esh 10 python windows lxml python-2.7 xml.etree

我想在python中使用xpath.我试过了

import xml.etree.ElementTree as ET
Run Code Online (Sandbox Code Playgroud)

由于这个库的使用有限,我必须在google上进行长时间的搜索后使用lxml.我在安装过程中遇到了几个问题,最后我安装了lxml,但是当我使用时

from lxml import etree
Run Code Online (Sandbox Code Playgroud)

它会抛出一个错误,如下所示.你能告诉我这个问题的解决办法吗!

Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
from lxml import etree
ImportError: DLL load failed: %1 is not a valid Win32 application.
Run Code Online (Sandbox Code Playgroud)

可以任意告诉我问题是什么?谢谢你的帮助!!

Xid*_*idh 15

我知道现在说这个晚了......但总有一天可能会帮助别人......

我使用以下代码来解决完全相同的问题

python -m pip uninstall lxml
python -m pip install lxml==3.6.0
Run Code Online (Sandbox Code Playgroud)


Ama*_*nus 9

我在这里通过下载64位版本的lxml来解决这个问题:

https://pypi.python.org/pypi/lxml/3.4.1

LXML-3.4.1.win-AMD64-py2.7.exe

它是唯一一个解决win32错误的方法.在执行此操作之前,您可能希望销毁旧版本的lxml.


Qan*_*las 1

既然您提到您必须与 lxml 进行斗争才能安装它,所以很难说在该过程中的哪个位置可能会出现此错误。

您是否将 lxml 安装到 Python 的默认安装或其他位置?如果您要安装到默认安装,则https://pypi.python.org/pypi/lxml/3.2.0中的 .exe 选项之一可能是您的最佳选择。在某些情况下,我也不得不与 lxml 作斗争,但这些 .exe 选项是我发现的最简单的方法。

如果您尝试将 lxml 安装到其他 Python 安装中,我建议使用 .egg 文件以及安装工具。遗憾的是,我能找到的 lxml 的最新 .egg 文件适用于 2.3,但您可以在此处获取它们https://botbot.me/freenode/kivy/