【问题解决】python安装bs4后,仍然报错 ModuleNotFoundError: No module named ‘bs4‘

2023-05-16

问题

我这里是windows上使用出现的问题:

代码中使用了 from bs4 import BeautifulSoup

# 需要使用 BeautifulSoup,使用以下命令后提示要使用 BeautifulSoup4
pip install BeautifulSoup
# 安装 BeautifulSoup4
pip install BeautifulSoup4
# 执行py文件报错 ModuleNotFoundError: No module named 'bs4'
pip install bs4
# 仍然提示 ModuleNotFoundError: No module named 'bs4'

分析

使用 python3.7

  • pip install bs4Python37\Lib\site-packages 文件夹下只有 bs4-0.0.1-py3.7.egg-info ,没有 bs4 文件夹(安装过程中会有,但是安装完成后被删除了)。
  • 会同时安装 BeautifulSoup4,相当于执行 pip install BeautifulSoup4,生成了 beautifulsoup4-4.12.0.dist-info 文件夹,没有 BeautifulSoup4 文件夹。

使用 python3.8

  • pip install bs4Python38\Lib\site-packages 文件夹下只有 bs4-0.0.1-py3.8.egg-info ,没有 bs4 文件夹(安装过程中会有,但是安装完成后被删除了)。
  • 会同时安装 BeautifulSoup4,相当于执行 pip install BeautifulSoup4,生成了 beautifulsoup4-4.12.0.dist-info 文件夹,没有 BeautifulSoup4 文件夹。

使用 python3.9

  • pip install bs4 后生成 bs4bs4-0.0.1-py3.9.egg-infobeautifulsoup4-4.12.0.dist-info

在这里插入图片描述

python3.7、python3.8 为什么无法安装暂不清楚原因,不知道是不是不支持了。
至于众多文章提到的使用 pycharm 安装bs4就成功了,我尝试后仍然与上述分析结果一致,python3.7、python3.8 无法使用。


解决

  • 安装 python3.9,windows版本下载地址、python-3.9.13.exe,python-3.9.13-amd64.exe 【下载慢的可以用迅雷下载】
  • 环境变量添加 安装路径 xxx\Python39\xxx\Python39\Scripts
  • 变量上移到其他版本python的上面(变量会优先使用上面的)
  • 再次运行就不会报错了

其他问题

python3.9 的 pip 无法使用:

> pip -version
Fatal error in launcher: Unable to create process using '"d:\professional_software\python39\python.exe"  "D:\Professional_Software\Python\Python39\Scripts\pip.exe" --version': ???????????
# 安装更新pip,显示成功但无效
python -m ensurepip --upgrade

解决:
先删掉 D:\Professional_Software\Python\Python39\Scripts\pip.exe,再执行:

# 会重新安装 pip.exe、pip3.9.exe、pip3.exe 这三个
python -m pip install -U pip

验证pip是否可使用:

pip --version
pip list

“Fatal error in launcher: Unable to create process using”解决办法

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【问题解决】python安装bs4后,仍然报错 ModuleNotFoundError: No module named ‘bs4‘ 的相关文章

  • python中unicode字符串到ascii字符串的近似转换

    不知道这是否微不足道 但我需要将 unicode 字符串转换为 ascii 字符串 并且我不希望周围有所有这些转义字符 我的意思是 是否有可能 近似 转换为一些非常相似的 ascii 字符 例如 Gavin O Connor 转换为 Gav
  • 我正在用 python 编写一个电报机器人

    我想通过Python编写一个电报机器人 但它不起作用 import telebot bot telebot TeleBot my token bot message handler content types text def sendin
  • 将实现拆分到多个文件/模块,并尽可能保持所有内容的私密性

    考虑我的库中的以下代码 pub struct Foo impl Foo fn helper self pub fn do something foo Foo foo helper 我的图书馆的用户应该能够使用Foo and do somet
  • 将 python scikit learn 模型导出到 pmml

    我想将 python scikit learn 模型导出到 PMML 中 什么 python 包最适合 我读到Augustus https github com opendatagroup augustus 但我找不到任何使用 scikit
  • 不要在异常堆栈中显示 Python raise-line

    当我在 Python 库中引发自己的异常时 异常堆栈将引发行本身显示为堆栈的最后一项 这显然不是一个错误 在概念上是正确的 但是当您在外部使用代码 例如作为模块 时 它会将重点放在对调试无用的东西上 有没有办法避免这种情况并强制 Pytho
  • Python中的键盘可中断阻塞队列

    It seems import Queue Queue Queue get timeout 10 键盘可中断 ctrl c 而 import Queue Queue Queue get 不是 我总是可以创建一个循环 import Queue
  • 在 python 中返回 self [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一个代表对象的类 我有很多方法可以修改这个对象状态 没有明显的返回或显然没有任何返回 在 C 中 我会将所有这些方法声明为void
  • AWS Lambda - 在区域之间自动复制 EC2 快照?

    我想创建一个 Lambda 函数 python 它将自动将已创建的快照复制到另一个区域 我已联系 AWS Support 他们只向我发送了用于 RDS 数据库的 GitHub 脚本 没有 EC2 快照复制脚本 任何帮助都会很棒 谢谢 是的
  • 使用自定义元素类在 Python 中解析 xml

    我想使用 Python 的 xml etree ElementTree 模块解析 xml 文档 但是 我希望生成的树对象中的所有元素都具有我定义的一些类方法 这建议创建我自己的 Python 元素类的子类 但我无法告诉解析器在解析时使用我自
  • Python 3:如何更改GDAL中的图像数据?

    我有一个 GeoTIFF 图像 其中包含颜色表和带有 8 位表键的单个栅格带 并且使用 LZW 压缩 我加载该图像gdal Open https gdal org python osgeo gdal module html 我还有一个包含
  • 如何将当前日期分配给 odoo v8 中的日期字段?

    我想将当前日期分配给以下代码中的日期字段 start date calendar obj create cr uid name rec res act ion user id rec res asgnd to id start date l
  • 使用 boto 和 python 从带有参数的布局创建 mTurk HIT

    我正在尝试利用 boto 在 Mechanical Turk 中生成 HIT 目标是使用我的 mTurk 帐户上已生成的通用布局 并向其传递图像 URL 以迭代创建 HIT 问题是 即使正确命名参数 如果图像 url boto 也不成功 我
  • 如何在 PyCharm 中启用 flake8 的自动代码格式化

    我使用 Tox 运行单元测试 并使用 flake8 命令检查代码格式错误 每次我在 PyCharm 中编码时 我都会运行 tox 然后意识到我有一堆烦人的格式错误 我必须返回并手动修复 我希望 PyCharm 自动格式化代码 根据 flak
  • 有没有办法在Python中调用子类定义的方法?

    The init 方法定义了创建类的实例时要执行的操作 创建子类时我可以做类似的事情吗 假设我有抽象类Entity class Entity def onsubclasscreation cls for var in cls annotat
  • numpy.polyfit 没有关键字“cov”

    我试图使用 polyfit 来找到一组数据的最佳拟合直线 但我还需要知道参数的不确定性 所以我也想要协方差矩阵 在线文档建议我写 polyfit x y 2 cov True 但这给出了错误 类型错误 polyfit 得到了意外的关键字参数
  • Kivy:滚动缩放

    有没有办法在桌面 kivy 应用程序上放大图像 例如使用鼠标滚轮缩放 这里似乎讨论过 https github com kivy kivy issues 3563 https github com kivy kivy issues 3563
  • 如何使用Django模板作为组件?

    我有 5 个模板 index html detail html tag html login html register html and a 基本 html 所有 5 个模板都会扩展基本 html 索引 html 详细信息 html 标签
  • 如何在Python中检查元组是否包含元素?

    我试图找到可用的方法 但找不到 没有contains 我应该使用index 我只想知道该项目是否存在 不需要它的索引 You use in if element in thetuple whatever you want to do
  • launchd执行python脚本,但导入失败

    我使用 appscript 编写了一个 python 脚本来跟踪我当前活动的窗口 我通过 launchd 运行它 但是当我这样做时 它无法导入 appscript 我已经在 launchd 的 plist 中设置了 PYTHONPATH 但
  • 预提交钩子 git 错误

    我正在尝试在 python 中执行预提交 git hook 以检查文件的行长度是否小于 80 个字符 但是我收到没有此类文件 目录的错误 我在 fedora 上并设置了 usr bin python help 将不胜感激 usr bin e

随机推荐