Poetry使用问题:Visual Studio Code调试时触发ModuleNotFoundError
问题解决步骤
前置检查:Poetry默认读取的项目配置文件为
pyproject.toml,如果你手动将配置文件命名为myproject.toml,需要在执行Poetry命令时添加--config myproject.toml参数指定配置路径,否则配置不会生效。
出现该问题的核心原因是VSCode调试时调用的Python解释器,没有指向Poetry为项目单独创建的隔离虚拟环境,因此无法识别已经安装在虚拟环境内的依赖。按以下步骤操作即可解决:
- 第一步:获取项目Poetry虚拟环境的Python解释器路径
在项目根目录打开命令行,执行poetry env info --executable,命令会输出当前项目对应虚拟环境的Python可执行文件完整路径,复制该路径。 - 第二步:在VSCode中切换Python解释器
- 按
Ctrl+Shift+P打开VSCode命令面板 - 搜索并选择
Python: Select Interpreter选项 - 选择「输入解释器路径...」,粘贴之前复制的路径完成确认
- 按
- 第三步:校验调试配置
打开项目下.vscode/launch.json调试配置文件,若存在pythonPath字段,确认其值已经更新为上述虚拟环境路径,也可以直接删除该字段,让VSCode自动读取全局选中的解释器。 - 验证生效
重启VSCode后打开内置终端,执行pip list,若返回结果中包含pytz等项目依赖,说明配置生效,重新启动调试即可正常运行。
如果执行poetry env info --executable提示不存在虚拟环境,先执行poetry install重新生成虚拟环境并安装所有依赖后,再按上述步骤操作即可。
内容的提问来源于stack exchange,提问作者MrD at KookerellaLtd
相关产品推荐
相关产品推荐

