如何从OSX 10.12.5上的Python3中的Beautiful Soup导入bs4?

时间:2017-07-04 18:25:02

标签: python-3.x beautifulsoup

我正在尝试修复在Python 3中导入模块时常见的问题。我正在运行OS X 10.12.5并在我的MacBook Air上安装了Python 3并使用Sublime Text编辑和运行我的代码。

当我尝试这个导入时:

from bs4 import BeautifulSoup 

...我收到此错误:

Traceback (most recent call last):
  File "/Users/<myname>/Python/code-python3/Pgm#001", line 5, in <module>
    from bs4 import BeautifulSoup
ImportError: No module named 'bs4'

我使用此PIP成功安装,每次重新安装时都会看到:

$ pip install beautifulsoup4
Requirement already satisfied: beautifulsoup4 in ./anaconda/lib/python3.5/site-packages

我尝试用以下内容来确定位置:

from ./anaconda/lib/python3.5/site-packages/bs4 import BeautifulSoup

...但总是会出现各种语法错误;通常在第一个'/'。

我没有使用虚拟环境,但是计划阅读这种方法,因为这些配置和设置错误都是浪费时间。

当我尝试在python3中运行时,我会遇到稍微不同的错误:

>>> from bs4 import BeautifulSoup
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/<myname>/anaconda/lib/python3.5/site-packages/bs4/__init__.py", line 30, in <module>
    from .builder import builder_registry, ParserRejectedMarkup
  File "/Users/<myname>/anaconda/lib/python3.5/site-packages/bs4/builder/__init__.py", line 314, in <module>
    from . import _html5lib
  File "/Users/<myname>/anaconda/lib/python3.5/site-packages/bs4/builder/_html5lib.py", line 70, in <module>
    class TreeBuilderForHtml5lib(html5lib.treebuilders._base.TreeBuilder):
AttributeError: module 'html5lib.treebuilders' has no attribute '_base'

任何关于我仍然缺少明显答案的提示都将不胜感激。我在类似的问题上看到过很多关于PATH和PYTHONPATH的事情,但是这些解决方案也没有成功。

1 个答案:

答案 0 :(得分:0)

是的,我不是蟒蛇的粉丝,但看起来正在指向道路:

  

“/用户//安纳康达/ LIB / python3.5 /站点包”

...并且为了尽可能保持干净(这是一个很好的例子/原因,你会看到人们说使用env进行你的python项目)

让谷歌在这里!以下是删除anaconda的方法:

conda install anaconda-clean #first the configs
anaconda-clean --yes
rm -rf ~/anaconda.* #then conda, the ".*" is regex to cover any version

检查你的bash_profile和/或bashrc;在这里你可以设置你的Python路径。确保它没有指向anaconda

如果你跑

ls -lh `which python # orpython3

您将获得您将设置为路径的路径。