我在使用Pyramid Framework在Aptana中启动调试模式时遇到了问题。
我正在使用的平台是Debian / Linux,运行Python 3。
这些是我用来创建和运行Pyramid项目的命令。 (source)
1. pcreate -s starter MyProject //create project
2. python3.2 setup.py develop //setup develop mode
3. pserve development.ini //run application
当我运行第3步时,终端会显示此信息,我可以打开浏览器并查看该网站。
Starting server in PID 15507.
serving on "http://0.0.0.0:6543"
如何运行调试器并设置断点,以便我可以逐步完成代码。
答案 0 :(得分:2)
我建议你研究一下the python debugger。还有an example for debugging Pyramid applications。这也可能有所帮助:Debug Pylons application through Eclipse。
答案 1 :(得分:0)
这是(或至少是)Waitress'(运行您的webapp的本地服务器)与Aptana / pydev / Eclipse交互的问题。
对于Python 2.7,简单的答案是使用paster代替本地服务器,这是我成功完成的。不幸的是,Paster尚未移植到Python 3,所以如果需要Python 3则不幸。
现在可能已经修复了这个问题,详见here。还有一些关于如何使paster工作的更详细的说明,尽管对于你来说没有帮助的3.x.
答案 2 :(得分:0)
我使用Xubuntu / linux - python3 我正在使用eclipse-pydev。这是我通过eclipse调试的方式, 我在项目文件夹(* MyProject)中使用app.py
app.py
from MyProject import main
if __name__ == '__main__':
settings = {
'pyramid.reload_templates': 'true',
'pyramid.debug_authorization': 'false',
'pyramid.debug_notfound': 'false',
'pyramid.debug_routematch': 'false',
'pyramid.default_locale_name': 'en'
}
ip="127.0.0.1"
port="6543"
app = main(None,settings)
#For waitress
from waitress import serve
print("Starting Server on http://{0}:{1}".format(ip,port))
serve(app,host=ip,port=port,threads=50)
放置断点(例如将其置于app.py中并查看代码行程,将其置于views.py-return语句中,并在移动到不同路径时看到它被触发)并单击eclipse中的DEBUG图标 - debug python app.py., eclipse要求打开调试透视窗口,eclipse-console显示,
pydev debugger: starting (pid: 9380)
eclipse打开调试透视窗口,触发的断点显示在调试窗口中。
我在用,
pserve development.ini
但是我觉得使用上面的脚本轻松地从eclipse启动web应用程序,我可以轻松地使用控制台(eclipse)停止运行server-localhost。