解决 ModuleNotFoundError: No module named 'BidRules'
问题的方法有以下两种,可以根据实际需要选择:
方法 1:在 settings.json
中设置 PYTHONPATH
为 VS Code 集成终端设置环境变量,确保所有终端运行的 Python 脚本都能正确找到项目的模块。
步骤:
- 打开项目的
.vscode/settings.json
文件(没有则新建)。 - 添加以下内容:
{
"terminal.integrated.env.windows": {
"PYTHONPATH": "${workspaceFolder}/"
},
"terminal.integrated.env.linux": {
"PYTHONPATH": "${workspaceFolder}/"
},
"terminal.integrated.env.osx": {
"PYTHONPATH": "${workspaceFolder}/"
}
}
- 保存文件。
- 在 VS Code 集成终端中运行脚本,例如:
python BidRules/bid_rules/person/bid_person.py
方法 2:在 launch.json
中设置 PYTHONPATH
为调试器设置环境变量,确保通过调试模式(F5
或点击绿色运行按钮)启动的脚本能正确找到模块。
步骤:
- 打开
.vscode/launch.json
文件(没有则新建)。 - 添加以下内容:
{
"version": "0.2.0",
"configurations": [
{
"name": "Python 调试程序: 当前文件",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal",
"env": {
"PYTHONPATH": "${workspaceFolder}/"
}
}
]
}
- 保存文件。
- 点击调试按钮或按
F5
运行脚本。
推荐实践:两种方法结合使用
- 同时配置
settings.json
和launch.json
,确保终端运行和调试器运行的脚本都能正确加载模块:settings.json
负责设置终端环境变量。launch.json
负责设置调试器环境变量。
验证是否生效
无论使用哪种方法,运行以下代码确认 PYTHONPATH
设置是否生效:
import sys
print(sys.path)
输出中应包含项目根目录(例如:C:\\Users\\WX847\\PycharmProjects\\bid_modules
)。如果包含,说明配置成功,问题已解决。