Я запускаю проект Python в vscode с 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.
ENOENT Обычно означает, что это недопустимый путь, но путь кажется совершенно нормальным.
$echo $PATH
/Users/<username>/apps/project/venv/bin
Источник: https://github.com/microsoft/vscode-python/issues/5316 < / а>
Я
— person Bhavani Ravi; 25.04.2021
mv
сделал это из соображений безопасности, но, похоже, это исправило, крутоВсе еще не знаю, в чем именно проблема, но я удалил все следы vscode со своего ноутбука. При переустановке с нуля все заработало.
У меня была такая же проблема, и я решил ее, убедившись, что все файлы settings.json (пользователь, рабочая область и, возможно, контейнер докеров) были очищены от записей python.testing. *.
Я столкнулся с той же проблемой и обнаружил, что это связано с несуществующей папкой в настройке
python.testing.cwd
, где я использовалworkspaceDir
вместоworkspaceFolder
в качестве переменнойОбратите внимание, что, похоже, требуется перезапуск VSCode, прежде чем изменение здесь окажет какое-либо влияние, т.е. если вы измените его на неправильное значение, он, по-видимому, продолжит работать, но после перезапуска вы получите ENOENT и наоборот.
Удалил
pytest.testing.cwd
и перезагрузил VSCode, и это также устранило мою проблему — спасибо, это предложение отлично сработало! Похоже, настройки VScode могут быть кэшированы, даже если они кажутся обновленными. — person Bhavani Ravi; 21.01.2021Спасибо тебе за это. Я пытался решить эту проблему самостоятельно, хотя и не знал, что нужно перезапускать / перезагружать vscode / theia, поскольку другие настройки вступают в силу немедленно. — person Bhavani Ravi; 22.02.2021