vscode解决python项目ModuleNotFoundError

解决 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.jsonlaunch.json,确保终端运行和调试器运行的脚本都能正确加载模块:
    • settings.json 负责设置终端环境变量。
    • launch.json 负责设置调试器环境变量。

验证是否生效

无论使用哪种方法,运行以下代码确认 PYTHONPATH 设置是否生效:

import sys
print(sys.path)

输出中应包含项目根目录(例如:C:\\Users\\WX847\\PycharmProjects\\bid_modules)。如果包含,说明配置成功,问题已解决。

Scroll to Top