Beautiful Soup将无法在命令行界面中运行

时间:2019-09-19 07:46:49

标签: python python-3.x beautifulsoup pip command-line-interface

我正在尝试使用python 3在cli中运行漂亮的汤,以便我可以玩转并弄清楚如何最好地使用它。我通过pip安装了它。

pip3 list

显示

Package        Version
-------------- -------
beautifulsoup4 4.8.0  

但是,当我运行python3 CLI并尝试导入漂亮的汤玩耍时,出现错误:

>>> import beautifulsoup4
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'beautifulsoup4'

我也尝试通过CLI导入bs4,但这很奇怪:

>>> import bs4
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/derekchapman/Google Drive/Code/Python/p4e/bs4/__init__.py", line 48
    'You are trying to run the Python 2 version of Beautiful Soup under Python 3. This will not work.'<>'You need to convert the code, either by installing it (`python setup.py install`) or by running 2to3 (`2to3 -w bs4`).'

我已经安装并正在运行python3,如果将bs4导入我的代码中,它将运行正常且没有错误。

2 个答案:

答案 0 :(得分:4)

错误消息/Users/derekchapman/Google Drive/Code/Python/中的路径表明您具有一个已添加到PYTHONPATH的自定义文件夹。在此文件夹中,您安装了python2版本的beautifulsoup,当您import时,您的python解释器首先找到此模块,作为环境变量PYTHONPATH不是特定于python版本的。

您现在有多种选择:

  1. 从您的PYTHONPATH删除该文件夹,但是这可能会破坏您可能首先添加了该文件夹的python2代码
  2. 从该文件夹中删除beautifulsoup4,但这与第一种方法的警告相同
  3. 如果要坚持使用多个python版本,最稳定,我的建议:清除PYTHONPATH并删除自定义安装的python版本,然后使用虚拟环境管理不同的python版本和模块安装

答案 1 :(得分:1)

根据docs,您应该以这种方式导入bs4:

from bs4 import BeautifulSoup

然后您可以使用以下行来初始化汤:

soup = BeautifulSoup('<html></html>', 'html.parser')

请注意,第一个参数是作为字符串的HTML文档。