构建Python API遇ModuleNotFoundError:Quart及bs4模块无法找到
问题现象
VS Code运行
app.py时报错:Exception has occurred: ModuleNotFoundError
No module named 'quart'
File Path "C:\xxxxxS\xx\xxxl\NewProjects\xxxx\my_api_env\app.py", line 3, in
from quart import Quart, request, jsonify, send_file, BeautifulSoup
ModuleNotFoundError: No module named 'quart'CMD运行时报错:
File "C:\xxxxxS\xx\xxxl\NewProjects\xxxx\my_api_env\app.py", line 8, in
from bs4 import BeautifulSoup
ModuleNotFoundError: No module named 'bs4'本地依赖列表显示已安装Quart 0.19版本。
核心原因
虚拟环境激活不统一:VS Code和CMD未使用项目对应的虚拟环境,或依赖安装到了全局Python环境而非项目虚拟环境中。
解决步骤
1. 激活项目虚拟环境
你的项目虚拟环境路径为C:\xxxxxS\xx\xxxl\NewProjects\xxxx\my_api_env:
CMD操作:
cd C:\xxxxxS\xx\xxxl\NewProjects\xxxx\my_api_env\Scripts activate.bat激活成功后,命令行前缀会显示
(my_api_env)。VS Code操作:
按下Ctrl+Shift+P,输入Python: Select Interpreter,选择路径为my_api_env\Scripts\python.exe的解释器。
2. 安装缺失依赖
在激活的虚拟环境中执行:
pip install quart==0.19 beautifulsoup4
注:bs4是beautifulsoup4包的别名,直接安装beautifulsoup4即可解决bs4找不到的问题。
3. 验证依赖
执行pip list,确认输出中存在Quart (0.19.x)和beautifulsoup4。
4. 重新运行项目
- VS Code中选择正确解释器后直接运行
app.py; - CMD保持虚拟环境激活状态,执行
python app.py。
额外提示
检查app.py的导入语句:你原本计划用Flask构建API,若无需Quart,可删除from quart import ...的相关代码,减少不必要的依赖。
内容的提问来源于stack exchange,提问作者Ruva

