Python vscode的测试资源管理器运行的Pytest在开发模式下找不到pip安装的模块

Python vscode的测试资源管理器运行的Pytest在开发模式下找不到pip安装的模块,python,visual-studio-code,pip,pytest,Python,Visual Studio Code,Pip,Pytest,在开发人员模式下(pip install-e.)对使用pip安装的项目代码运行测试通过从命令行执行pytest来实现。但是,使用Visual Studio代码的测试资源管理器UI在同一Pythonvirtualenv中运行相同的测试不起作用,Python会引发ModuleNotFoundErrors 我确认我的软件包是由pip list-v安装的,它打印: myproject 0.0.0 /path/to/myproject 此外,我编写了失败测试以在测试执行期

在开发人员模式下(
pip install-e.
)对使用
pip安装的项目代码运行测试通过从命令行执行
pytest
来实现。但是,使用Visual Studio代码的测试资源管理器UI在同一Python
virtualenv
中运行相同的测试不起作用,Python会引发
ModuleNotFoundError
s

我确认我的软件包是由
pip list-v
安装的,它打印:

myproject            0.0.0      /path/to/myproject
此外,我编写了失败测试以在测试执行期间获取Python路径:

import sys


def test_some_test():
    print(sys.executable)
    print(sys.path)

    assert False
这确认Python可执行文件是安装我的项目代码的
virtualenv
中的可执行文件。但是testexplorer运行和命令行运行之间的
sys.path
不同。testexplorer运行不包括
sys.path
中的
/path/to/myproject
,而命令行运行则包括。显然,如果项目的路径包含在
sys.path
中,则可以导入包。为什么测试资源管理器UI运行中缺少它?如何使测试资源管理器使用在开发模式下安装的带有
pip
的软件包

我应该补充一点,我试图在测试中导入的模块本身就在一个名为
mylib
的包中。因此,我测试中的实际导入如下

from mylib import function_under_test


def test_function_under_test():
    ...

我更仔细地研究了这个问题,发现这是针对vscode的Python扩展中的一个bug,cf.issues ,并在github.com上发布


作为一项解决方案,您可以安装Little Fox团队,也可以安装旧版本的Microsoft Python扩展(v2020.9.114305)。

更多地摆弄这个问题,我发现这是针对vscode的Python扩展中的一个bug,请参阅 ,并在github.com上发布

作为解决方案,您可以安装Little Fox团队,也可以安装旧版本的Microsoft Python扩展(v2020.9.114305)