在 Python3 上使用 BeautifulSoup4
启动我的 Ubuntu 机器,出现以下错误。我的网页抓取脚本运行 BeautifulSoup4,到目前为止运行正常。我最近唯一做的事情就是安装 Audacity。不知道这会对 BeautifulSoup 产生什么影响。
Traceback (most recent call last):
File "scrubNprint.py", line 1, in <module>
from bs4 import BeautifulSoup
File "/usr/lib/python3/dist-packages/bs4/__init__.py", line 30, in <module>
from .builder import builder_registry, ParserRejectedMarkup
File "/usr/lib/python3/dist-packages/bs4/builder/__init__.py", line 314, in <module>
from . import _html5lib
File "/usr/lib/python3/dist-packages/bs4/builder/_html5lib.py", line 70, in <module>
class TreeBuilderForHtml5lib(html5lib.treebuilders._base.TreeBuilder):
AttributeError: module 'html5lib.treebuilders' has no attribute '_base'
错误from .builder import builder_registry, ParserRejectedMarkup
,我搜索了我的目录列表,但似乎没有找到该脚本builder
。
错误from . import _html5lib
,文件似乎在目录中bs4/builder
。我不明白为什么会收到此错误。
最后一个错误
class TreeBuilderForHtml5lib(html5lib.treebuilders._base.TreeBuilder):
AttributeError: module 'html5lib.treebuilders' has no attribute '_base'
我不太清楚。这似乎是在脚本中。
更重要的是,我没有触碰任何我所知道的东西。但我可能在安装 Audacity 之前进行了更新。然而,我认为更新 Ubuntu 不会影响 BeautifulSoup。
当我这样做时, 我收到一条无效的 pip3 --user uninstall beautifulsoup4
消息。--user
我照做了pip uninstall
,然后尝试重新安装。仍然收到相同的错误消息。
beautifulsoup 已安装。您要求的命令的结果是;
python-bs4:
Installed: (none)
Candidate: 4.4.1-1
Version table:
4.4.1-1 500
500 http://us.archive.ubuntu.com/ubuntu xenial/main amd64 Packages
500 http://us.archive.ubuntu.com/ubuntu xenial/main i386 Packages
python3-bs4:
Installed: 4.4.1-1
Candidate: 4.4.1-1
Version table:
*** 4.4.1-1 500
500 http://us.archive.ubuntu.com/ubuntu xenial/main amd64 Packages
500 http://us.archive.ubuntu.com/ubuntu xenial/main i386 Packages
100 /var/lib/dpkg/status
我的 python 代码是正确的。它工作了 5 个月。然后,突然我得到了上面的回溯错误。在删除并重新安装 beautifulsoup 后,这个问题还没有消失(见这个帖子。
当前版本中有一个html5lib
导致错误的错误,应该会在几周内修复。