Python 2.7 如何在VScode中正确设置PYTHONPATH env

Python 2.7 如何在VScode中正确设置PYTHONPATH env,python-2.7,visual-studio-code,pythonpath,Python 2.7,Visual Studio Code,Pythonpath,项目结构如下 - a.py - unittest - test_a.py A.py class A(): def function_a(self): return 'function_a' from a import A class TestA(): def test_a(self): assert A().function_a() == 'function_a' 测试a.py class A(): def function_

项目结构如下

- a.py
- unittest
   - test_a.py
A.py

class A():
    def function_a(self):
        return 'function_a'
from a import A

class TestA():
    def test_a(self):
        assert A().function_a() == 'function_a'
测试a.py

class A():
    def function_a(self):
        return 'function_a'
from a import A

class TestA():
    def test_a(self):
        assert A().function_a() == 'function_a'
当我使用终端并
设置pathnpath=/
时,可以通过
pytest
对其进行检测和测试。然而,当我试图在VScode中调试它时,它总是抛出
没有名为a的模块

我尝试过这种方法,并在我的项目文件夹中放置了一个
.env

.env

PYTHONPATH=C:\\Repos\\test-project
(我做了,有逃也没有逃,反正没用。)

.vscode/setting.json

{
    "python.pythonPath": "C:\\Python27\\python.exe",
    "python.testing.pytestArgs": [
        "unittest"
    ],
    "python.testing.unittestEnabled": false,
    "python.testing.nosetestsEnabled": false,
    "python.testing.pytestEnabled": true,
    "python.envFile": "${workspaceFolder}/.env",
}

要了解
PYTHONPATH
环境变量的值,请使用以下
test_a.py
文件

import os

def test_PYTHONPATH():
  assert os.environ.get('PYTHONPATH') == "XX"

我已经用Python 3.6在Windows上测试了它

在我的测试中,我在工作区根文件夹中设置了一个
.env
,其中包含

PYTHONPATH=C:\Projects\test-project\
运行测试时出现断言错误,并显示
PYTHONPATH
的值是操作系统定义的值

启动一个终端并从全局环境变量中删除
PYTHONPATH
,然后从这个终端以
C:\Projects\test project\
作为参数启动VSC,打开了项目,现在测试失败,但显示了
.env
文件中定义的正确的
PYTHONPATH

我得到的结论是操作系统环境变量(在Windows上)覆盖了VSC设置的任何环境变量。如果这是正确的,您不能像文档中显示的那样扩展环境变量

PYTHONPATH=${PROJ_DIR}:${PYTHONPATH}
这应该在VSC或VSC python扩展中作为错误进行归档


VSC中定义的任何内容都应该覆盖任何OS环境变量,并且能够使用任何OS环境变量。

要了解
PYTHONPATH
环境变量的值,请使用以下
test_a.py
文件

import os

def test_PYTHONPATH():
  assert os.environ.get('PYTHONPATH') == "XX"

我已经用Python 3.6在Windows上测试了它

在我的测试中,我在工作区根文件夹中设置了一个
.env
,其中包含

PYTHONPATH=C:\Projects\test-project\
运行测试时出现断言错误,并显示
PYTHONPATH
的值是操作系统定义的值

启动一个终端并从全局环境变量中删除
PYTHONPATH
,然后从这个终端以
C:\Projects\test project\
作为参数启动VSC,打开了项目,现在测试失败,但显示了
.env
文件中定义的正确的
PYTHONPATH

我得到的结论是操作系统环境变量(在Windows上)覆盖了VSC设置的任何环境变量。如果这是正确的,您不能像文档中显示的那样扩展环境变量

PYTHONPATH=${PROJ_DIR}:${PYTHONPATH}
这应该在VSC或VSC python扩展中作为错误进行归档

VSC中定义的任何内容都应该覆盖任何OS环境变量,并能够使用任何OS环境变量