已安装 BeautifulSoup 但仍未获得名为 bs4 的模块

Installed BeautifulSoup but still get no module named bs4

我正在使用 Jupyter notebook、Python 3.5 和虚拟环境。

在我的虚拟环境中我做了:

(venv) > pip install BeautifulSoup4

这似乎 运行 很好 b/c 终端输出是:

Downloading beautifulsoup4-4.6.0-py2-none-any.whl (86kB)
  100% |████████████████████████████████| 92kB 297kB/s 
Installing collected packages: BeautifulSoup4
Successfully installed BeautifulSoup4-4.6.0

但是当我 运行 我的 Jupyter 笔记本时,我得到:

ImportError                               Traceback (most recent call last)
<ipython-input-1-5fe69888b1a1> in <module>()
      5 from itertools import groupby
      6 import pickle
----> 7 import bs4
      8 import matplotlib.pyplot as plt
      9 get_ipython().run_line_magic('matplotlib', 'inline')

ImportError: No module named 'bs4'

而且我无法将 import bs4 行更改为 from bs4 import BeautifulSoup 我在其他 SO 帖子中看到的 b/c 它是只读的,我不应该

因为你使用的是 Python 3,我认为你需要做

pip3 install BeautifulSoup4

Python 2 包只需要 pip install。

其他要检查的东西:

首先确保你 运行 在你的 virtualenv 中安装了 BeautifulSoup,并且在你的 virtualenv 中安装了 python3 提示符或 Jupyter notebook。如果您是在 root 环境中安装的,而 notebook 在您的 virtualenv 中是 运行,反之亦然,则您的站点包目录可能不匹配。

通过在命令提示符下键入 pip3 list 并注意它出现在列表中,确保您的包确实已安装。

检查你的 Jupyter notebook 确实 运行 正在使用 Python 3.5 内核(浏览器右上角 window)

检查安装包的路径是否在你的sys.path

打开 Python3 提示符或在 Jupyter 中 运行

import sys
print (sys.path)

我遇到了同样的问题,bs4 与 Jupyter Lab 一起安装在我的虚拟环境中。 Jupyter 会抛出 ModuleNotFound 错误,但如果我在 Visual Studio 代码中打开笔记本并选择 .venv 作为解释器,它就会起作用。

我通过从虚拟环境中卸载并使用 sudo apt-get install python3-bs4 安装来让它在 Jupyter Lab 中工作。