Отладка консоли в PyDev с сервером разработки AppEngine - PullRequest
1 голос
/ 03 ноября 2010

Я пытаюсь отладить проект Google AppEngine в Eclipse / PyDev, работающем в Ubuntu.

Обычно отладка работает нормально, но я не могу оценить выражения в консоли отладки. Я считаю, что консоль запускает сервер AppEngine и приостанавливает ожидание завершения работы сервера разработки AppEngine, поэтому я не могу получить запрос на оценку.

Это вывод в консоли отладки:

pydev debugger: warning: psyco not available for speedups (the debugger will still work correctly, but a bit slower)
pydev debugger: starting
/home/eric/src/google_appengine/google/appengine/tools/appcfg.py:42: DeprecationWarning: the sha module is deprecated; use the hashlib module instead
  import sha
/home/eric/src/google_appengine/google/appengine/tools/dev_appserver_login.py:33: DeprecationWarning: the md5 module is deprecated; use hashlib instead
  import md5
INFO     2010-11-02 22:00:13,657 appengine_rpc.py:153] Server: appengine.google.com
INFO     2010-11-02 22:00:13,679 appcfg.py:414] Checking for updates to the SDK.
INFO     2010-11-02 22:00:14,010 appcfg.py:428] The SDK is up to date.
WARNING  2010-11-02 22:00:14,011 datastore_file_stub.py:818] Could not read datastore data from /tmp/dev_appserver.datastore
INFO     2010-11-02 22:00:14,080 dev_appserver_main.py:443] Running application manualent on port 8080: http://localhost:8080

Обратите внимание, что в конце консоли никогда не выводится приглашение ввести выражения для оценки.

Есть идеи, как получить приглашение, чтобы правильно вычислять выражения во время отладки?

Ответы [ 2 ]

1 голос
/ 03 ноября 2010

Рассматривали ли вы использование интерактивной консоли AppEngine, которая является частью вашего приложения?

http://code.google.com/appengine/docs/python/tools/devserver.html#The_Development_Console

Сервер в настоящее время использует интерпретатор Python, поэтому вы никогда не получаете подсказкупотому что это всего лишь один интерпретатор, и он уже используется);если вы хотите запускать выражения Python в контексте сервера, то вам стоит использовать консоль разработки.

Существует также более «консольная» версия интерактивного сеанса Python.от сторонних разработчиков: http://con.appspot.com/console/help/about

0 голосов
/ 16 февраля 2013

Попробуйте использовать возможность удаленной отладки - я столкнулся с потенциально похожей проблемой на Apache + mod_wsgi и решил ее, установив stdoutToServer=True и sterrToServer=True для направления вывода на удаленный отладчик PyDev:

from pydevsrc import pydevd;pydevd.settrace('192.168.2.8', stdoutToServer=True, stderrToServer=True)
...