ImportError:没有名为bs4的模块(BeautifulSoup)

时间:2012-08-02 18:47:01

标签: python beautifulsoup flask importerror

我正在使用Python并使用Flask。当我在我的计算机上运行我的主Python文件时,它运行得很好,但是当我激活venv并在终端中运行Flask Python文件时,它说我的主Python文件有“No Module Named bs4”。任何意见或建议都非常感谢。

19 个答案:

答案 0 :(得分:158)

激活virtualenv,然后安装BeautifulSoup4:

$ pip install BeautifulSoup4

当您使用bs4安装easy_install时,系统会安装它。所以你的系统python可以导入它,但不能导入你的virtualenv python。 如果您不需要在系统python路径中安装bs4,请将其卸载并保存在virtualenv中。

有关virtualenvs的更多信息,请阅读this

答案 1 :(得分:45)

对于 python2.x

sudo pip install BeautifulSoup4

python3

sudo apt-get install python3-bs4

答案 2 :(得分:8)

只是标记为Balthazar的答案。运行

pip install BeautifulSoup4

对我不起作用。而是使用

pip install beautifulsoup4

答案 3 :(得分:3)

如果您使用Pycharm,请转到首选项 - 项目解释器 - 安装bs4。 如果您尝试安装BeautifulSoup,它仍会显示没有名为bs4的模块。

答案 4 :(得分:2)

我做了@ rayid-ali所说的,除了我在Windows 10机器上,所以我省略了sudo。也就是说,我做了以下事情:

python3 -m pip install bs4

,它像pycharm。无论如何都像魅力一样。

答案 5 :(得分:1)

这对我有用。

pipenv pip install BeautifulSoup4

答案 6 :(得分:1)

我建议您使用以下命令卸载bs4库:

  

pip uninstall bs4

然后使用以下命令安装它:

  

sudo apt-get install python3-bs4

当我使用以下命令安装bs4库时,我在Linux Ubuntu中遇到了同样的问题:

  

pip install bs4

答案 7 :(得分:0)

如果您使用Anaconda进行软件包管理,则应执行以下操作:

storageService = { formData: { name: '', email: '' }, SaveState: function () { localStorage.setData = JSON.stringify(storageService.formData); }, getState: function () { storageService.formData = JSON.parse(localStorage.setData); } }

答案 8 :(得分:0)

pip3 install BeautifulSoup4

尝试一下。它对我有用。

答案 9 :(得分:0)

尝试一下:

sudo python3 -m pip install bs4

答案 10 :(得分:0)

pip3.7 install bs4

尝试一下。它适用于python 3.7

答案 11 :(得分:0)

pip install --user BeautifulSoup4

答案 12 :(得分:0)

您可能想尝试使用

安装bs4
pip install --ignore-installed BeautifulSoup4

如果上述方法对您不起作用。

答案 13 :(得分:0)

尝试重新安装模块 要么 尝试使用以下命令与美丽的汤一起安装

<img src="{{ rand_im() }}" width="100%" />

答案 14 :(得分:0)

最简单的方法是使用easy_install。

easy_install bs4 

如果pip失败,它将起作用。

答案 15 :(得分:0)

原始查询的附录: modules.py

help('modules')

$python modules.py

它列出了已经安装的bs4模块。

_codecs_kr          blinker             json                six
_codecs_tw          brotli              kaitaistruct        smtpd
_collections        bs4                 keyword             smtplib
_collections_abc    builtins            ldap3               sndhdr
_compat_pickle      bz2                 lib2to3             socket

正确的解决方案是:

pip install --upgrade bs4

应该解决问题。

不仅如此,其他模块也会显示相同的错误。 因此,对于那些错误的模块,您必须以与上述相同的方式发出pip命令。

答案 16 :(得分:0)

如果您落后于公司代理,请尝试使用以下命令

pip install --proxy = http://www-YOUR_PROXY_URL.com:PROXY_PORT BeautifulSoup4

答案 17 :(得分:0)

我一直在互联网上搜寻。

我正在使用Python 3.6和MacOS。我已经卸载并安装了pip3 install bs4,但是没有用。似乎python无法检测或搜索bs4模块。

这是起作用的: python3 -m pip install bs4

通过-m选项,您可以添加模块名称。

https://docs.python.org/3/using/cmdline.html

答案 18 :(得分:-1)

许多针对Python 2的教程/参考资料,都告诉您使用pip install somename。如果您使用的是Python 3,则要将其更改为pip3,请安装一个名称。