簡體   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