8

我在 vscode 中运行一个 python 项目virtualenv。Python解释器设置正确。当我试图发现测试时,它给了我一个错误说

python /Users/user/.vscode/extensions/ms-python.python-2019.10.44104/pythonFiles/testing_tools/run_adapter.py discover pytest -- -s project/
Test Discovery failed: 
Error: spawn /Users/<username>/apps/project/venv/bin/python ENOENT

我的 vscode settings.json 看起来像这样,我还没有配置 launch.json

{
    "python.pythonPath": "/Users/<username>/apps/project/venv/bin/python",
    "python.testing.unittestEnabled": false,
    "python.testing.nosetestsEnabled": false,
    "python.testing.pytestEnabled": true,
    "python.testing.pytestArgs": [
        "project"
    ],
}

当我/Users/<username>/apps/project/venv/bin/python在终端上键入时,python shell 就会打开。

ENOENT 通常意味着它是一个无效的路径,但路径看起来非常好。

$echo $PATH
/Users/<username>/apps/project/venv/bin
4

5 回答 5

4

在我删除项目中的本地 .vscode 文件夹、保存工作区并创建一个包含测试设置的新 .vscode/settings.json 后,它自行解决了。这似乎已经解决了它。

来源:https ://github.com/microsoft/vscode-python/issues/5316

于 2019-11-12T14:24:14.513 回答
4

我刚刚遇到了同样的问题,发现这是由于python.testing.cwd我使用workspaceDir而不是workspaceFolder作为变量的设置中不存在的文件夹

请注意,这里的更改似乎需要重新启动 VSCode,即如果您将其更改为错误的值,它似乎会继续工作,但在重新启动后您将获得 ENOENT,反之亦然

于 2020-06-10T11:01:19.830 回答
1

添加"python.testing.cwd": "${workspaceFolder}"settings.json我解决了这个问题。

于 2021-11-10T08:07:16.170 回答
1

仍然不知道确切的问题是什么,但是,我从笔记本电脑上删除了所有 vscode 痕迹。从头开始重新安装它就可以了。

于 2019-11-13T07:54:47.543 回答
0

我遇到了同样的问题,并通过确保所有 settings.json 文件(用户、工作区和可能的 docker 容器)都已清除 python.testing.* 条目来解决它。

于 2020-06-04T11:05:27.517 回答