繁体   English   中英

在 lxml 中使用 etree 时出错

[英]Error using etree in lxml

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

import xml.etree.ElementTree as ET

由于这个库的使用有限,我在谷歌上搜索了 session 之后不得不使用 lxml。 我在安装过程中遇到了几个问题,最后我安装了 lxml 但是当我使用

from lxml import etree

它会返回一个错误,如下所示。 你能告诉我这个问题的解决方案吗!!!

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.

任何人都可以告诉我问题是什么吗? 感谢协助!!

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

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

python -m pip uninstall lxml
python -m pip install lxml==3.6.0

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

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

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

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

既然你提到你必须与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/

我遇到了同样的问题。 基本上,我的操作系统是64位,我的python也是64位。 但我安装的工具和站点包是32位,除了Ixml是64位。 所以,我从下面的链接安装了Ixml 32位版本,它对我来说很好。

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

我相信系统正在寻找Ixml的32位实现,但它找到了64位。 我希望这能解决问题。

我有同样的问题。 Win32部分起初很混乱,因为我运行的是64位系统。 解决方案,也许是因为实际的python版本使用32位组件,只是卸载旧版本的lxml并安装32位版本,在这里: https//pypi.python.org/pypi/lxml/3.4。 1个#下载

只是添加这个,以防万一有类似情况的人受益。 虽然我的Python和Scrapy所需的库是32位安装,但我仍然遇到了这个问题。 在我将Python升级到下一版本后,问题自动得到解决。

删除 Python site-package中与lxml相关的库文件夹( ~/Library/Python/3.8/lib/python/site-packages/lxml in Linux/MacOS ),然后执行以下命令有帮助:

python -m pip install lxml

先前命令的版本3.6.0不再有效。 上面的命令将安装最新的兼容版本,我安装时是4.8.x

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM