vscode python无法解析的导入

时间:2020-06-27 08:50:47

标签: python visual-studio-code

我有一个非常简单的设置:

| .env

| hello.code-workspace

+火车

。| --first / src / hello.py

|| --second / src / hello2.py

为清楚起见,在此图像中还可以看到the directory structure

我的工作区位于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'

the vscode screenshot

感觉是根本没有加载.env。我想念什么? VSCODE版本为1.46.1 操作系统:macOS Mojave

2 个答案:

答案 0 :(得分:0)

只需安装在库下面

pip install python-dotenv

在程序运行之前添加以下代码

from dotenv import load_dotenv
load_dotenv(".env", verbose=True)

答案 1 :(得分:0)

这是因为您仅为终端指定了PYTHONPATH,这意味着Python扩展程序对此一无所知。如果您将其设置在.env文件中,则扩展名将知道您希望它在src/中显示。