You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python操作venv后导入bs4/requests报ModuleNotFoundError如何解决

问题根因

故障由两个核心问题共同导致,和项目存放在父子文件夹无直接关联:

  • 重命名venv文件夹的操作破坏了虚拟环境的路径绑定:Python原生venv创建时会在内部配置文件中写入绝对路径,移动、重命名venv文件夹都会导致环境失效,哪怕改回原名称,路径配置损坏后也无法正常读取环境内安装的依赖
  • 执行pip命令时调用的解释器,和运行项目时调用的解释器不匹配:你当前执行的pip对应全局Python环境,而运行项目时调用的是损坏的虚拟环境解释器,因此会出现pip提示依赖已存在、运行时却报模块找不到的错误
  • 找不到AppData文件夹是因为Windows系统默认将该文件夹设为隐藏状态,不是路径不存在。
修复步骤

全程在Windows PowerShell中操作,不需要使用sudo命令(该命令仅适用于Linux/macOS系统,Windows环境无此命令)。

1. 清理损坏的虚拟环境

分别进入两个项目的根目录,删除里面所有已损坏的venv、venv1文件夹,不要复用之前移动、重命名过的虚拟环境文件。

2. 为每个项目重建独立虚拟环境

两个项目不要共用同一个虚拟环境,分别操作:

  • 打开PowerShell,执行cd 你的项目根目录绝对路径进入目标项目文件夹
  • 执行命令新建虚拟环境:
    python -m venv venv
  • 执行命令激活虚拟环境:
    .\venv\Scripts\Activate.ps1

    如果激活时抛出权限错误,先执行Set-ExecutionPolicy RemoteSigned -Scope CurrentUser,输入Y确认权限策略修改后,重新执行激活命令即可

  • 激活成功后,PowerShell输入行的最前方会显示(venv)标识,此时执行依赖安装命令:
    pip install requests
    pip install beautifulsoup4
    
  • 安装完成后,在当前已激活虚拟环境的终端中运行项目入口文件,验证导入是否正常。

3. 固定编辑器的解释器配置(避免后续复现)

如果你使用VS Code、PyCharm等编辑器编写代码,打开项目后手动指定对应项目venv内的解释器,避免编辑器自动选到全局Python或其他无效解释器:

  • VS Code:点击窗口右下角的Python版本标识,在弹出的列表中选择当前项目下./venv/Scripts/python.exe
  • PyCharm:打开Settings > Project > Python Interpreter,选择添加现有虚拟环境,选中当前项目venv目录下的python.exe即可

注意:后续安装依赖、运行项目前,先确认终端已激活对应项目的虚拟环境(行首有(venv)标识),不要直接在未激活虚拟环境的终端中用全局pip装包,否则会再次出现依赖不匹配的问题。

补充说明

如果需要查看AppData文件夹,打开文件资源管理器,在顶部「查看」选项卡中勾选「隐藏的项目」选项,即可看到该目录。

内容的提问来源于stack exchange,提问作者TheAlmostGreat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 20:48:34