【发布时间】:2021-02-11 18:53:23
【问题描述】:
我刚刚发现 vscode 可以直接从编辑器中运行 pytest。太棒了——如果它可以工作的话。
目前我正在虚拟环境中开发一个项目,该项目已在 vscode 中正确配置(并已激活)。 pytest 安装在虚拟环境中并激活,我编写的测试按预期发现。但是每当我运行测试时,它都会说,它找不到我当前正在处理的模块并且会引发 ModuleNotFoundError。
我已经用pip install -e . 安装了这个模块。在 vscode 之外的普通终端控制台上运行相同的测试可以正常工作。
如果仅为工作区和/或用户启用 pytest,则没有区别。
示例代码:
def test_something():
from mymodule.config import Config
...
输出:
E ModuleNotFoundError: No module named 'mymodule'
Pip 示例输出:
mymodule 0.1.0 /path/to/mymodule
Stnge 也是,vscode 使用所有已安装的插件(即 pytest-datafiles)运行正确的 pytest 脚本(它不是全局安装,仅在此环境中)。
有什么想法吗?
问候,托马斯
【问题讨论】:
-
my_module是一个目录吗? -
是的。其实是一个包。我只是看到我的代码中有错字。
-
一切都好吗?
-
没有。错字只是来自示例代码,在我的实际项目中它不起作用,即使我的模块在那里并已安装。
-
是
mymodule与脚本在同一目录中吗?
标签: python visual-studio-code pytest