Я попытался запустить отладку Python в VS Code
в Windows 10 через F5
, а также в меню отладки графического интерфейса в правом верхнем углу. Тем не менее, он всегда показывает следующее окно ошибки в правом нижнем углу с указанием "The Python path in your debug configuration is invalid."
:
Я вошел в среду Python, связанную с проектом под названием "Пример":
username@hd1pcms0347 MINGW64 ~/Projects
$ ls
Example Example-venv
Я активирую виртуальную среду (venv) следующим образом:
username@hd1pcms0347 MINGW64 ~/Projects
$ source Example-venv/Scripts/activate
(Example-venv)
username@hd1pcms0347 MINGW64 ~/Projects
Дерево каталогов верхнего уровня проекта "Пример" выглядит следующим образом:
Example:.
├───.git
├───.vscode
├───docs
└───src
├───build
├───config
├───scripts
└───tests
Сценарии Python, которые я хочу отлаживать, находятся в некоторых подкаталогах папок "scripts" и "tests".
Теперь python.exe
, подключенный к текущему venv, находится здесь:
/c/Users/andreas.luckert/Projects/Merck-venv/Scripts/python.exe
Вывод which python
:
(Example-venv)
username@hd1pcms0347 MINGW64 ~/Projects/Example-venv/Scripts
$ which python
/c/Users/username/Projects/Example-venv/Scripts/\Users\username\Projects\Example-venv/Scripts/python
В левом нижнем углу я выбрал правильный путь к интерпретатору Python.
Что касается глобального и локального settings.json, которые расположены по адресу C:\Users\username\AppData\Roaming\Code\User\settings.json
и C:\Users\username\Projects\Example\.vscode\settings.json
соответственно, они имеют одинаковое содержимое (я сохранил только записи, относящиеся к отладке и python):
{
// * Breadcrumbs options
"debug.allowBreakpointsEverywhere": true,
// * JUPYTER options
"jupyter.sendSelectionToInteractiveWindow": true,
// NOTE on provenance: from org-mode VS Code extension docs ("too tone")
// * PYTHON options
"[python]": {
"editor.rulers": [
80,
120
],
"editor.defaultFormatter": "ms-python.python"
},
// "python.defaultInterpreterPath": "${env:PYTHON_EXE_LOC}",
"python.defaultInterpreterPath": "/c/Users/username/Projects/Example-venv/Scripts/python.exe",
// "python.envFile": "${workspaceFolder}${pathSeparator}.vscode${pathSeparator}vscode.env",
"python.analysis.completeFunctionParens": true,
"python.autoComplete.addBrackets": true,
"python.terminal.activateEnvironment": true,
"python.terminal.executeInFileDir": false,
"python.terminal.launchArgs": [
"-c",
"\"from IPython import start_ipython; start_ipython()\""
],
// Possible values: "Jedi", "Pylance", "Microsoft", "None".
"python.languageServer": "Pylance",
"python.jediMemoryLimit": 1,
"python.linting.enabled": true,
"python.linting.lintOnSave": true,
"python.linting.maxNumberOfProblems": 100,
"python.linting.ignorePatterns": [
".vscode/*.py",
"**/site-packages/**/*.py"
],
"python.analysis.diagnosticSeverityOverrides": {
"reportUnusedImport": "information",
"reportMissingImports": "none"
},
"python.linting.pylintPath": "C:\\Users\\username\\Projects\\Example-venv\\Scripts\\pylint.exe",
"python.linting.pylintEnabled": true,
"python.linting.pylintUseMinimalCheckers": false,
"python.analysis.useImportHeuristic": true,
"python.formatting.provider": "yapf",
"python.testing.autoTestDiscoverOnSaveEnabled": true,
"python.testing.unittestArgs": [
"-v",
"-s",
".",
"-p",
"*test*.py"
],
"python.testing.pytestArgs": [],
}
Наконец, локальный файл launch.json, расположенный по адресу C:\Users\username\Projects\Example\.vscode\launch.json
, содержит следующее:
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File (Integrated Terminal)",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal",
// "python": "${workspaceFolder}${pathSeparator}.vscode${pathSeparator}vscode.env",
"python": "/c/Users/username/Projects/Example-venv/Scripts/python.exe",
"redirectOutput": true,
"justMyCode": false,
"logToFile": true,
"stopOnEntry": false,
},
...
]
}
Я уже перепробовал множество конфигураций, но не могу избавиться от ошибки, хотя все эти пути должны быть правильными.