我有一个非常简单的设置:
。
| .env
| hello.code-workspace
+火车
。| --first / src / hello.py
|| --second / src / hello2.py
为清楚起见,在此图像中还可以看到。
我的工作区位于train文件夹下,因此$ {workspaceFolder}是train。
要使vscode熟悉“ second / src”和“ first / src”包,我在.env文件中定义了PYTHONPATH:
PYTHONPATH = $ {workspaceFolder} / second / src:$ {workspaceFolder} / first / src
在工作区设置中,我定义了terminal.integrated.env.osx:
"settings": {
"terminal.integrated.env.osx": {
"PYTHONPATH": "${workspaceFolder}/second/src",
},
"python.pythonPath": "/usr/local/bin/python3"
},
first/src/hello.py:
from hello2 import printHello
printHello();
second/src/hello2.py:
def printHello():
print("hello world2")
printHello()
我要先运行/src/hello.py
我可以从vscode终端成功运行它,但是以某种方式在hello.py中我得到了unresolved import 'hello2'
感觉是根本没有加载.env。我想念什么? VSCODE版本为1.46.1 操作系统:macOS Mojave
答案 0 :(得分:0)
只需安装在库下面
pip install python-dotenv
在程序运行之前添加以下代码
from dotenv import load_dotenv
load_dotenv(".env", verbose=True)
答案 1 :(得分:0)
这是因为您仅为终端指定了PYTHONPATH
,这意味着Python扩展程序对此一无所知。如果您将其设置在.env
文件中,则扩展名将知道您希望它在src/
中显示。