在Mac上使用Python时使用lxml接收'ImportError:无法导入名称etree'

时间:2012-12-06 18:14:16

标签: python macos lxml importerror

我在Mac上为Python正确安装lxml时遇到了困难。我已按照here的说明进行操作,安装后指示安装成功(但是,有一些警告。可以找到安装和警告的完整日志here

运行安装后,我尝试在lxml安装目录中运行Test.py以确保它正常工作。我立即被提示错误:

ImportError"  cannot import name etree.  

此错误来自行from lxml import etree

我似乎无法弄清楚为什么在看似成功安装后它失败了。请原谅我的无知,因为我通常不用Python编程,当然也不用MAC(目前不得不这样做)。

供参考:

  • Python版本:2.7.2
  • Mac OS X 10.8.2

提前感谢所有帮助。

3 个答案:

答案 0 :(得分:16)

听起来你的路径中有另一个lxml。确保你引用正确的,它应该是这样的:

>>> import lxml
>>> lxml
<module 'lxml' from '/path/to/lib/python2.7/site-packages/lxml/__init__.pyc'>

答案 1 :(得分:3)

我和你有同样的问题。

我的问题是我将我的一个Python文件命名为 lxml.py

您应该始终检查您的Python文件的名称是否与模块冲突。

答案 2 :(得分:0)

微软服务器 Spyder IDE Python 3.7 和 Python 3.9

记录这一点,因为我在 Google/StackOverflow 等上的任何地方都找不到解决方案。

关于 SharePlum、SharePoint 集成、问题

从 lxml 导入导入 etree 导入错误:无法导入名称 etree

我在尝试将 SharePlum 与 Spyder IDE 一起使用时遇到了同样的问题。

我尝试安装、卸载和安装以下版本但没有成功 pip 安装 shareplum pip 安装 lxml

我安装了 Python 3.9 和 Spyder IDE(我不知道,还安装了它自己的 Python 3.7 版本 - 截至 2021 年 5 月 13 日的 Spyder 版本).. [即使 Spyder IDE 设置为搜索所有python 包库存(例如 ../Python39/Lib/Site-Packages)用于包] Python 从其他路径提取包似乎存在 Spyder 问题。

解决方案,我已经卸载了所有 Python 和 Spyder IDE 安装。

然后我只安装了 Spyder IDE(它在它的 PATH 中嵌套了一个 python 安装。然后我进入了 PATH“.../Spyder/Python”,在那里你可以找到所有熟悉的 Python.exe 和其他熟悉的 Python 文件。我必须使用这个 Python 安装来安装 Pip,然后我可以“pip install -r requirements.txt”——它安装 etree lxml 和其他好东西,比如 SharePlum 等。

这似乎奏效了!