我试图理解VSCode与运行项目子包中存储的python脚本相关的行为。 如果我的项目结构如下:
proj/
util/
main/hello.py
test/
如果你好.py进口自项目利用率-我使用'runpython File in Terminal'来执行脚本,因为找不到模块而失败(项目利用率)-因为默认情况下,不会将项目顶层目录添加到pythonpath。如果我在根目录下创建一个.env文件,并为PYTHONPATH添加一个定义以包含我的项目顶层目录,那么通过上面的选项运行时,同样不会使用这个文件。在
如果我创建一个默认的调试启动集并使用'debug Python current file in terminal'-这将读取.env文件并按预期工作。在
PyCharm自动将顶级项目目录添加到系统路径当在终端中运行一个脚本时,VSCode不应该提供这样的选项还是我遗漏了什么?在
当前版本如下,尽管我在Windows下看到了相同的行为。在
^{pr2}$
当您让Python运行您的}中包含的包(因此它没有{}的概念)。在
hello.py
时,PVSC正在使用终端来运行python proj/main/hello.py
。对于Python来说,这与从proj/main
目录运行python hello.py
相同,这意味着解释器甚至看不到{未使用
.env
文件,因为该文件再次只是在终端中直接执行的文件,而您的终端或Python都不会读取.env
文件。但是,当您使用调试器时,我们可以指定诸如使用.env
文件之类的详细信息,以及调试器按预期设置PYTHONPATH
的原因。在只需将这些行添加到要执行的文件的顶部
相关问题 更多 >
编程相关推荐