beautifulsoup,html5lib:模块对象没有属性_base

时间:2016-07-19 00:14:14

标签: beautifulsoup html5lib

当我更新我的软件包时,我遇到了这个新错误:

class TreeBuilderForHtml5lib(html5lib.treebuilders._base.TreeBuilder):
AttributeError: 'module' object has no attribute '_base'

我尝试更新beautifulsoup,但没有更多结果。我该如何解决这个问题?

8 个答案:

答案 0 :(得分:102)

我升级了beautifulsoup4和html5lib,它解决了这个问题。

pip install --upgrade beautifulsoup4
pip install --upgrade html5lib

答案 1 :(得分:24)

这是上游包html5lib的一个问题:String.replace 要修复,请强制降级到旧版本:

pip install --upgrade html5lib == 1.0b8

答案 2 :(得分:17)

编辑 nov,2017:它似乎不再起作用了

最后发现,搜索引擎并没有抛出任何东西,但它在beautifulsoup的问题跟踪器中引用:https://bugs.launchpad.net/beautifulsoup/+bug/1603299

它使用html5lib v 0.9999999(7个9)

"html5lib<=0.9999999"

答案 3 :(得分:7)

在@Bhavuk中降级到html5lib 1.0b8的答案有效,但课程是漂白的版本问题。

我的解决方案是改变漂白剂的版本以与新版本的html5lib兼容

pip install --upgrade bs4
pip install --upgrade bleach==1.4.2
pip install --upgrade html5lib==1.0b8

Python版本3.5

答案 4 :(得分:3)

同样的问题发生在我身上。我不知道你想要做什么,但是当我尝试使用pd.read_html()读取pandas中的XML文件时,我就发生了这种情况。

通过升级所有beautifulsoup4,html5lib和lxml解决了这个问题,例如:

pip install bs4
pip install html5lib
pip install lxml

然后重启你的Python环境,现在它正在运行。

答案 5 :(得分:0)

此命令为我解决了问题:

 sudo pip install html5lib==0.9999999

答案 6 :(得分:0)

只需使用此工具安装Enter first number: 2 To add, press '+' To add, press '-' To multiply, press '*' To divide, press '/' * Enter second number: 3 The result is: 6.0 ,因为如果您以常规方式安装,则必须使用python2进行爬网。

html5lib

答案 7 :(得分:0)

我发现尝试切换版本对我不起作用。最后,基于on this issue,出于我的目的,我在~/.local/lib/python3.7/site-packages/bs4/builder/_html5lib.py上编辑了相关文件。