Beautifulsoup 的“单元测试失败”
Posted
技术标签:
【中文标题】Beautifulsoup 的“单元测试失败”【英文标题】:"unit tests have failed" for beautifulsoup 【发布时间】:2014-04-13 14:57:54 【问题描述】:我正在尝试为 python33 安装 beautifulsoup,但它没有正确安装它会给出如下错误:
C:\Python33>pip install beautifulsoup
Downloading/unpacking beautifulsoup
Downloading BeautifulSoup-3.2.1.tar.gz
Running setup.py egg_info for package beautifulsoup
Traceback (most recent call last):
File "<string>", line 16, in <module>
File "c:\windows\temp\pip_build_Prashant\beautifulsoup\setup.py", line 22
print "Unit tests have failed!"
^
SyntaxError: invalid syntax
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 16, in <module>
File "c:\windows\temp\pip_build_Prashant\beautifulsoup\setup.py", line 22
print "Unit tests have failed!"
^
SyntaxError: invalid syntax
那么我可以为这个错误做些什么,有人可以建议我吗?
【问题讨论】:
你想要beautifulsoup4
; BS 3 已经很老了,不能在 Python 3 上运行。
这个作品和beautifulsoap一样吗?
@Prashant:这是该项目的最新版本。
感谢它现在的工作......
【参考方案1】:
您正在尝试安装 BeautifulSoup 3,它与 Python 3 不兼容。改为安装beautifulsoup4
:
pip install beautifulsoup4
大多数假定 BeautifulSoup 3 的代码也适用于 BeautifulSoup 4。对于新项目,请坚持使用 BS4。
【讨论】:
这是有史以来最不幸的版本号选择。当然有人会期望 BeautifulSoup 3 与 Python 3 一起工作! @MarkRansom:不确定你是否认真。 BS3 于 2006 年首次发布,比 Python 3 出现早了两年。与 Python 3 的发布时间表无关,版本 3 或 4 有大量软件包。 是的,我是认真的。他们至少可以更新包,通知您 Python 3 需要不同的包,这样您就不必在互联网上搜索发生了什么。 我同意该项目不应该像那样切换名称,或者至少应该推出一个过渡版本选项。但与版本号关系不大。请注意,project documentation page 非常明确地说明了应该安装的内容。 @CoreyLevinson:大概是因为 BeautifulSoup 4 并不完全向后兼容。使用 BeautifulSoup 3 的项目不能在不中断的情况下全部升级到 BeautifulSoup 4。如果没有重命名,任何使用自动依赖管理的项目都可能崩溃。以上是关于Beautifulsoup 的“单元测试失败”的主要内容,如果未能解决你的问题,请参考以下文章