Eclipse/PyDev + Django调试

4

Eclipse/PyDev,Python 2.6,Django 1.1

所有内容在运行模式下都可以正常工作。如果我在manage.py文件中设置了调试断点,则可以正常工作。但是,当我将其放置在任何操作方法中时,它却没有任何作用 :(


已在此回答:https://dev59.com/THRA5IYBdhLWcg3wsgBP#866145 - Ramin
不,这是另外一件事。 - Igor Golodnitsky
2个回答

10
通常问题在于您在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(),即:before if __name__ == "__main__":, add the following: import pydevd;pydevd.patch_django_autoreload()),以便添加断点并使PyDev停止在这些断点上。


0

如果在尝试导入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文件夹。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接