Как настроить отладчик vscode Python для приложения движка приложения? - PullRequest
0 голосов
/ 10 сентября 2018

После выполнения шагов в официальном вики я продолжаю получать следующую ошибку при запуске с точками останова или установки точек останова:

    /ptvsd/wrapper.py", line 423, in pydevd_request
    os.write(self.pipe_w, s.encode('utf8'))
  File "google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/python/runtime/stubs.py", line 40, in os_error_not_implemented
    raise OSError(errno.ENOSYS, 'Function not implemented')
OSError: [Errno 38] Function not implemented

Приложение работает в любом случае, но точки останова не достигаются. Похоже, что ptvsd пытается использовать какой-то метод, который блокируется изолированной средой движка приложения. Я запускаю vscode в python virtualenv, какая-нибудь подсказка?

Ответы [ 2 ]

0 голосов
/ 14 сентября 2018

Мое решение состояло в том, чтобы использовать отладчик PyCharm Community Edition, его похожую, возможно, более функциональную IDE и отладчик для отладки, специфичной для Python.

0 голосов
/ 10 сентября 2018

Я пытался найти надежный способ избавиться от этой ошибки, но она оказывается довольно сложной. Вот несколько советов:

  • Используйте флаг --threadsafe_override=default:false при запуске сервера разработки ядра приложения, как объяснено здесь .

  • Сервер разработчика механизма приложений должен запускаться из vscode (например, через задачу) вместо отдельного окна терминала.

  • Если вы все еще получаете сообщение об ошибке, остановите отладчик, завершите задачу и перезапустите все.

(После этого отладчик правильно достигает точек останова, но, что любопытно, стэк вызовов настроен на основной поток, а не на поток, содержащий точку останова, вам нужно вручную щелкнуть нужный поток в окне стека вызовов.)

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