我正在尝试在Ubuntu上运行的Eclipse / PyDev中调试Google 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
请注意,它永远不会在控制台的末尾打印一个提示,用于输入要评估的表达式。
知道如何获得正确的提示,以便我可以在调试期间评估表达式吗?
答案 0 :(得分: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
答案 1 :(得分:0)
尝试使用远程调试功能 - 我在Apache + mod_wsgi上遇到了类似的问题,并通过设置stdoutToServer=True
和sterrToServer=True
将输出路由到PyDev远程调试器来解决它:
from pydevsrc import pydevd;pydevd.settrace('192.168.2.8', stdoutToServer=True, stderrToServer=True)