繁体   English   中英

Python:ImportError:无法在unix上导入名称etree

[英]Python : ImportError: cannot import name etree on unix

1.我使用的是 Python 2.6.6
2.下载 BeautifulSoaup 和 lxml 外部解析器,解压并解压 bs4 和 lxml 文件夹。
3.写link.py如下

#! /usr/bin/python

from bs4 import BeautifulSoup
from urllib import urlopen
from lxml import etree

webpage = urlopen('http://www.google.com')
soup=BeautifulSoup(webpage, "lxml")
for link in soup.find_all('a'):
print(link.get('href'))

运行 ./link.py 时出现以下错误:

Traceback (most recent call last):
  File "./link.py", line 5, in <module>
    from lxml import etree
ImportError: cannot import name etree

Microsoft Server Spyder IDE Python 3.7 和 Python 3.9

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

关于 SharePlum、SharePoint 集成、问题

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

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

我尝试安装、卸载和安装以下版本但没有成功 pip install shareplum pip install 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(它在它的路径中嵌套了一个 python 安装。然后我进入了路径“.../Spyder/Python”,在那里你可以找到所有熟悉的 Python.exe 和其他熟悉的 Python 文件。我不得不使用这个 Python 安装来安装 Pip,然后我可以“pip install requirements.txt”——它安装 etree lxml 和其他好东西,比如 SharePlum 等。

这似乎奏效了!

祝你好运

如果你有beautifulsoup,为什么要使用lxml? (反之亦然) lxml 库导入取决于 python 版本。 看看这个网站: http : //lxml.de/tutorial.html

此外,还有一些提示使编程更容易:

  1. 试试画中画。 它使安装软件包变得更加容易。 只需输入“pip install SomePackage”,它就会下载并安装软件包。

  2. 尝试使用比 urllib 更易读的请求。

  3. 尝试访问http://www.google.com会出现一些错误,因为 google 不希望您这样做。 尝试改用http://www.example.com

暂无
暂无

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

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