如何解决ModuleNotFoundError: No module named 'back_end'报错?
问题解决:VS Code运行Flask项目报ModuleNotFoundError
问题原因
命令行执行python -m back_end.main能正常运行,是因为该命令会自动将当前工作目录(即project文件夹)加入Python的模块搜索路径sys.path,从而可以找到back_end包。而VS Code默认运行时,要么工作目录未设置为project,要么sys.path未包含project目录,导致无法找到对应模块。
解决方法
1. 确认VS Code工作区根目录为project文件夹
打开VS Code时,直接选择project文件夹作为工作区,不要打开back_end或其他层级的目录。
2. 配置VS Code的launch.json文件
在项目根目录创建.vscode/launch.json文件,添加以下配置,强制将工作目录设为project并将其加入PYTHONPATH:
{ "version": "0.2.0", "configurations": [ { "name": "Python: Run Flask App", "type": "python", "request": "launch", "module": "back_end.main", "env": { "PYTHONPATH": "${workspaceFolder}" }, "cwd": "${workspaceFolder}" } ] }
之后通过该配置运行项目即可。
3. 临时修复:在main.py中手动添加路径
如果不想配置launch.json,可以在main.py开头添加以下代码,手动将project目录加入sys.path:
import sys from pathlib import Path # 将project目录加入模块搜索路径 sys.path.append(str(Path(__file__).parent.parent))
内容的提问来源于stack exchange,提问作者kevin
相关产品推荐
相关产品推荐

