【问题标题】:Eclipse/PyDev + Django debugEclipse/PyDev + Django 调试
【发布时间】:2010-10-28 10:31:55
【问题描述】:

Eclipse/PyDev、Python 2.6、Django 1.1

一切都在运行模式下工作。如果我将调试点放在 manage.py 文件中,断点就会起作用。但是当我把它放在任何动作方法中时,它什么也不会产生:(

【问题讨论】:

标签: django debugging pydev


【解决方案1】:

通常问题是您在 django 中使用自动重新加载运行,在这种情况下,实际上是由不同的进程提供页面,因此,您需要使用不重新加载选项运行它或使用远程调试器。

(要配置 PyDev 以使用 Django,请参阅:http://pydev.org/manual_adv_django.html

请注意,如果您想在没有自动重新加载功能的情况下执行(当您创建新的 Django 运行时 PyDev 应该自动执行),您可以直接完成所有操作(即:调试器和启动不需要任何特殊调整)。


注意:最近情况有所改善,因此,尽管上述答案仍然有效,但对于那些想要在自动重新加载上进行开发的人来说,还是有一些改进:


使用自动重新加载回答:

如果您想在开发时自动重新加载,请使用以下提示:PyDev and Django: how to restart dev server?(以解决 Django 会在主进程被杀死时使子进程保持活动状态的问题)

并查看与远程调试器相关的会话:http://pydev.org/manual_adv_remote_debugger.html 以了解如何在使用自动重新加载功能时将调试器附加到 PyDev(主要是,您需要启动远程调试器,但会添加断点如果您在主会话之前调用 pydevd.patch_django_autoreload(),PyDev 将定期停止这些操作——即:before if __name__ == "__main__":, add the following: import pydevd;pydevd.patch_django_autoreload())。

【讨论】:

    【解决方案2】:

    如果在尝试导入 pydevd 时,eclipse 找不到 pydevd 依赖项。确保从您的插件文件夹中添加它:

    • 查找您的 eclipse/plugins/org.python.pydev_x.x.x/pysrc,其中 x.x.x 是您的 eclipse pydev 插件版本。在 eclipse/plugins 文件夹中,您会发现许多以相似名称开头的文件夹,其中只有一个具有 pysrc 子文件夹(正确的版本号)。
    • 将 eclipse/plugins/org.python.pydev_x.x.x/pysrc 添加到项目的外部库中:
      • 右键单击您的项目浏览器。
      • 转到属性/PyDev - PYTHONPATH/External Libraries/ 并单击添加源文件夹
      • 在提供的浏览器上找到您的 eclipse/plugins/org.python.pydev_x.x.x/pysrc 文件夹。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-18
      • 2011-02-11
      • 2017-10-04
      • 2021-08-11
      • 1970-01-01
      • 2013-08-11
      • 1970-01-01
      • 2016-04-05
      相关资源
      最近更新 更多