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

VS Code调试Monorepo中Python文件出现ModuleNotFoundError求助

问题解决:VS Code调试时出现ModuleNotFoundError: No module named 'schema'

环境信息

  • VS Code v1.74.3
  • ms-python.python 插件 v2022.20.2
  • Pyenv全局安装 Python v3.9.1
  • 项目为Monorepo结构,dir-2/src/event_producer_1/schemas/cloud_event目录代码由AWS Eventbridge Schema Registry代码绑定功能生成

问题现象

调试main.py时,__init__.py中抛出ModuleNotFoundError: No module named 'schema',但PyCharm可正常调试,已在launch.json设置PYTHONPATH为${workspaceRoot}/dir-2/src/event_producer_1。

解决方案

1. 验证PYTHONPATH实际生效路径

在main.py开头添加以下代码,运行调试后查看控制台输出的路径列表,确认目标目录是否被正确加入:

import sys
print("当前PYTHONPATH:", sys.path)

如果${workspaceRoot}/dir-2/src/event_producer_1/schemas/cloud_event(或schemas目录)不在列表中,说明路径设置未覆盖到依赖所在目录。

2. 调整launch.json的PYTHONPATH配置

修改launch.json中的env字段,将schemas目录也加入PYTHONPATH:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Current File",
            "type": "python",
            "request": "launch",
            "program": "${file}",
            "console": "integratedTerminal",
            "env": {
                "PYTHONPATH": "${workspaceRoot}/dir-2/src/event_producer_1:${workspaceRoot}/dir-2/src/event_producer_1/schemas"
            }
        }
    ]
}

若schema.py直接位于cloud_event目录下,可进一步追加该路径:

"PYTHONPATH": "${workspaceRoot}/dir-2/src/event_producer_1:${workspaceRoot}/dir-2/src/event_producer_1/schemas:${workspaceRoot}/dir-2/src/event_producer_1/schemas/cloud_event"

3. 确认VS Code使用的Python解释器

点击VS Code右下角的Python解释器版本,确认选中的是Pyenv全局安装的Python v3.9.1。若选了其他解释器(如系统Python、虚拟环境),会导致PYTHONPATH设置不生效。

4. 使用.env文件自动加载环境变量

在项目根目录创建.env文件,写入以下内容:

PYTHONPATH=./dir-2/src/event_producer_1:./dir-2/src/event_producer_1/schemas

VS Code的Python插件会自动读取该文件中的环境变量,无需手动修改launch.json即可生效。

5. 检查生成代码的导入逻辑

打开出错的__init__.py,查看导入语句。若生成代码使用了import schema这类绝对导入,而schema.py位于当前目录,可尝试将导入改为相对导入:

from . import schema

注意:修改自动生成的代码可能会在后续重新生成时被覆盖,优先通过调整PYTHONPATH解决。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 18:17:34