繁体   English   中英

Pydev Django项目编译

[英]Pydev Django project compilation

我安装了pydev和eclipse来编译django项目。 一切看起来不错,但有一件事使我发疯。 当我更改代码中的某些内容时,我单击以保存它,并希望看到更改的效果。 但是,除非终止程序并按如下所示重新运行,否则我看不到更改的影响。 太痛苦了...

在此处输入图片说明

我曾经用过Pycharm,但是它已经过期了。 在Pycharm中,当程序运行一次时,我不需要一次又一次地运行它。 通过单击“保存”按钮,我可以轻松看到更改对代码的影响。 是否有可能在pydev和eclipse中看到相同的东西? 你们也看到这个问题吗?

要使用自动重载功能调试Django,必须使用远程调试器,并且必须对代码应用补丁(在manage.py模块中if _name_ == "_main_"之前):

import pydevd
pydevd.patch_django_autoreload(
  patch_remote_debugger=True, #Connect to the remote debugger.
  patch_show_console=True
)

因此,这样做,启动远程调试器并进行常规运行应该可以使放置在Eclipse中的所有常规断点能够在Django进程中与Remote Debugger一起工作(并且PyDev自动添加到启动配置中的--noreload必须删除)。

我有改进的计划,以便调试器将跟踪自动添加到生成的进程(可能是下一个版本),但是在PyDev 3.3.3上,这仍然需要执行此手动修补程序并使用远程调试器。


以上与调试运行有关。 现在,进行常规运行...

当以> pydev:django身份运行时,它应该创建一个运行配置(您可以在运行>运行配置中访问它)。 然后,打开该运行配置>参数并删除'--noreload'(仅保留'runserver'参数)。

然后,您可以简单地使用Ctrl + F11重新运行它(如果已将其设置为启动先前启动的应用程序,如http://pydev.org/manual_101_run.html所示 )-(或者,您也可以使用以下命令运行它: Alt + R,T,1)。

唯一的问题是,如果您在Eclipse中杀死该进程,则很有可能会留下僵尸进程,因此,您可以使用pydevd.patch_django_autoreload(patch_show_console = True)进行上述操作,以在每次生成新进程时打开控制台(您可以在此处执行pydevd | <-ctrl空间以将导入添加到pydevd)。

请注意,这应该起作用。 如果它不起作用,请确保在上一个会话中没有僵尸进程(在Windows中,您可以执行以下操作:taskkill / F / IM python.exe以确保杀死所有Python进程)。

另一个注意事项(用于当您实际上没有自动重新加载时):Ctrl + Shift + F9将终止当前正在运行的进程并重新运行它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM