Я наконец-то начал работать с удаленной отладкой.Мне пришлось pip3 установить ptvsd == 3.0.0 на моем локальном компьютере и убедиться, что для файла require.txt для моего контейнера Docker установлена та же версия.(примечание: последняя версия 3.2.1 не работала)
@ BrettCannon имел правильную ссылку для хорошего урока https://code.visualstudio.com/docs/python/debugging#_remote-debugging
Мне нужно было добавить код вapp.py из колбы приложение.Первоначально я получал адрес, который уже использовался, при запуске контейнера, поэтому я добавил код сокета, и после первого успешного присоединения отладчика он мне больше не нужен (странно, я знаю, но именно поэтому я оставил его весли кто-то другой получит эту ошибку)
try:
import ptvsd
# import socket
# sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# sock.close()
ptvsd.enable_attach(secret=None,address=('0.0.0.0',5050))
ptvsd.wait_for_attach()
except Exception as ex:
print('Not working: ')
также я снял отладочный kwarg из app.run () в app.py для приложения фляги.Все это дало мне возможность подключить отладчик, но точки останова, где «Неподтвержденные», поэтому последним, что должно было случиться, был путь к app.py в файле launch.json для remoteRoot.Я скажу, что я создал небольшой тестовый API, чтобы это работало, и для этого нужен только первый уровень пути (т. Е. / App, а не /app/app/app.py)) Вот github тестового API, который я сделал (https://github.com/tomParty/docker_python). Так что, если отладчик подключается, но ваши точки останова не проверены, поиграйтесь с путем remoteRoot
"remoteRoot": "/nomz/nomz/app.py"