2010-11-02 3 views
1

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

Отладка обычно работает нормально, но я не могу оценить выражения в консоли отладки. Я считаю, что консоль запускает сервер 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 

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

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

ответ

1

Вы считали использование интерактивной консоли 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

не знал об этом, спасибо за указатель –

0

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

from pydevsrc import pydevd;pydevd.settrace('192.168.2.8', stdoutToServer=True, stderrToServer=True) 
Смежные вопросы