Как отлаживать python в VS Code с помощью virtualenv? Очередной раз - PullRequest
0 голосов
/ 17 октября 2019

Я пытаюсь отладить очень простой скрипт в venv, а отладчик Python просто отказывается работать.

Версия расширения Python - 2019.10.41019 для Windows 10 x64.

32-разрядная версия Python 3.7.1.

Отладка без виртуальных сред работает нормально. Затем я создал venv в C: \ TMP \ PYENV и добавил конфигурацию в launch.json:

{
    "name": "Python: PYENV",
    "type": "python",
    "request": "launch",
    "program": "${file}",
    "console": "integratedTerminal",
    "pythonPath": "C:\\TMP\\PYENV\\Scripts\\python.exe",
},

и начал отлаживать его. Вывод в терминал:

c:\TMP\PYENV>C:/TMP/PYENV/Scripts/activate.bat
(PYENV) c:\TMP\PYENV>C:\TMP\PYENV\Scripts\python.exe c:\Users\user\.vscode\extensions\ms-python.python-2019.10.41019\pythonFiles\ptvsd_launcher.py --default --client --host localhost --port 53150 c:\TMP\PYENV\myscript.py

Сценарий запускается, все локальные импорты в venv найдены - но все мои точки останова игнорируются. Скрипт запускается (и где-то падает).

Чего не хватает ??

Я искал похожие вопросы и большинство советов, чтобы определить конфигурацию с помощью "python.pythonPath". Но это больше не действует в текущей версии. Это должен быть "pythonPath", как в моем примере выше, или код VS (или расширение python?) Жалуется на неверное имя.

1 Ответ

0 голосов
/ 18 октября 2019

Это потому, что вы помещаете свой исходный код в виртуальную среду, что заставляет отладчик думать, что это не ваш код, а сторонний код. Просто переместите код, и все будет хорошо. В качестве альтернативы вы можете установить "justMyCode": true в своей конфигурации отладчика, и он затем будет отслеживать весь код, а не только то, что отладчик считает вашим собственным кодом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...