如何使用Pyramid Framework使用Aptana / Eclipse调试和设置断点?

时间:2012-05-22 03:42:29

标签: eclipse python-3.x aptana pydev pyramid

我在使用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"

如何运行调试器并设置断点,以便我可以逐步完成代码。

3 个答案:

答案 0 :(得分:2)

答案 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。