每当我尝试导入时都没有名为 bs4 的模块

no module named bs4 whenever I try to import

我正在尝试创建一个网络抓取程序,但每当我写:from bs4 import beautifulsoup,我总是得到错误:no名为 bs4 的模块。我通过以下方式安装了 bs4:pip install beautifulsoup4pip install bs4 但没有任何效果。谢谢!

也许检查一下你的机器是否安装了它:

import bs4 

bs4.__version__

然后运行:

import bs4 as bs

如果它仍然无法正常工作,请查看 pip 本身并重新安装它:

pip --version

sudo pip uninstall pip

sudo easy_install pip

有效

#!/usr/bin/python3
# -*- coding: utf-8 -*-

from bs4 import BeautifulSoup
from urllib.request import urlopen

data = urlopen('https://my_site/').read()
read_data = BeautifulSoup(data)

可能是你程序的工程使用了没有bs4的虚拟环境(venv)。如果是这样 - 将 bs4 直接安装到您自己的 venv 中:

  1. 打开cmd
  2. 类型cd path\to\your\project
  3. 找到您的虚拟环境文件夹(“venv”/“virtualenv”/等)
  4. 在您的 venv 中找到“激活”(对于“venv”,在 cmd 中输入 venv\Scripts\activate
  5. 再安装一次 bs4。

注意:某些 IDE(如 PyCharm)有更简单的方法(如 'settings' 按钮或内置激活了 venv 的控制台)。

你的情况(PyCharm):

变体 1

在底部会有一个带有不同控制台等的面板: TODO、问题、终端、Python 包、Python 控制台、... 打开 Terminal. it has to have a row 喜欢:

(venv) C:\path\to\your\PyCharmProjects\ProjectName>

使用此控制台检查是否为您的项目安装了 bs4(您可以尝试使用 pip install bs4 再安装一次)


变体 2

按 Ctrl+Alt+S -> 项目 -> Python 解释器

检查 appeared packages list 中是否为您的项目安装了 bs4。如果没有:按“+”(列表上方的按钮),输入 'beautifulsoup' 或 'bs4',选择合适的包并单击“安装包”