我最近开始探索VS Code来开发Python代码,当我尝试从子文件夹中导入模块时遇到了一个问题。当我在Jupyter笔记本中执行它时,完全相同的代码可以完美运行(子文件夹包含__init__.py
文件等。)我相信我已按照说明正确设置了VS Python扩展。除此一个导入命令以外的所有其他命令均能正常工作,但我无法弄清楚到底出了什么问题。
项目的结构如下:设置为cwd
的根文件夹包含两个子文件夹(src
和bld
)。 src
包含py
文件,该文件导入使用foo.py
]在bld
文件夹中的模块保存在from bld.foo import foo_function
中的模块。
运行文件时,出现以下错误:ModuleNotFoundError: No module named ‘bld'
。我安装了几个Anaconda Python环境,每个环境都遇到相同的问题。将foo.py
复制到src
目录并使用from foo import foo_function
时,一切正常。
我的launch.json
文件如下:
{ "version": "0.2.0", "configurations": [ { "name": "Python: Current File (Integrated Terminal)", "type": "python", "request": "launch", "program": "${file}", "cwd": "${workspaceFolder}", "env": {"PYTHONPATH": "${workspaceFolder}:${workspaceFolder}/bld"}, "console": "integratedTerminal" } ] }
任何想法或帮助将不胜感激!
我最近开始探索VS Code来开发Python代码,当我尝试从子文件夹中导入模块时遇到了一个问题。当我在...
[我想我终于自己弄清楚了答案:集成终端不会从PYTHONPATH
文件中扫描.env
。但是,在集成窗口中运行文件时,PYTHONPATH
正确取自.env
。因此,为了在终端中运行脚本,我必须在terminal.integrated.env.*
中添加settings.json
行,如下所示: