簡體   English   中英

如何用IntelliJ遠程調試Python?

[英]How to remotely debug Python with IntelliJ?

有沒有辦法用 IntelliJ 遠程調試 Python3? 我找不到任何選項。 使用 VS Code,就像擁有這個文件一樣簡單:

啟動.json


     {
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Remote Attach",
            "type": "python",
            "request": "attach",
            "connect": {
                "host": "172.18.0.5",
                "port": 5678
            },
            "pathMappings": [
                {
                    "localRoot": "${workspaceFolder}",
                    "remoteRoot": "."
                }
            ],
            "justMyCode": true
        }
    ]
}

一切都像(py)魅力一樣!

我怎樣才能用 IntelliJ 做到這一點?

我檢查了 JetBrains 的所有教程,但似乎沒有一個符合我要搜索的內容。

IntelliJ IDEA 和 PyCharm 都支持使用 Python 進行遠程調試,只需按照此處的指南操作即可:

https://www.jetbrains.com/help/pycharm/remote-debugging-with-product.html

如果您使用的是 IntelliJ IDEA,您可以先安裝 Python 插件,通過Settings > Plugins > Marketplace ,輸入Python ,然后點擊Install按鈕。

這是使用 Python 遠程調試服務器配置https://www.jetbrains.com/help/pycharm/remote-debugging-with-product.html#remote-debug-config進行遠程調試的步驟指南:

  1. 讓 IDEA/PyCharm 在您的 IDE 在本地運行的機器上托管調試器服務器:

注意:此步驟與 VS Code 相比有很大不同(對不起,我對該工具知之甚少),在 VS Code 中它使用 package https://github.com/microsoft/debugpy ,但它首先會調用python -m debugpy --listen 0.0.0.0:5678./myscript.py在遠程機器/docker 上創建一個調試服務器,然后客戶端(這里是 VS 代碼)連接到它。 但在 IDEA/PyCharm 中恰恰相反:Python 調試服務器在本地機器上偵聽,遠程腳本將連接到 IDE 的服務器。

從主菜單中選擇運行| 編輯配置...。運行/調試配置對話框打開。 您必須單擊工具欄上的添加配置,然后從可用配置列表中選擇 select Python Debug Server

請將端口更改為 0 到 65535 之間的不同數字,默認值0在這里不起作用,然后記住上面IDE host name區域的步驟。

有關IDE host name的更多信息:如果調試服務器不在同一台機器上,用戶可以指定另一個主機(默認為localhost )。 在你的情況下,你想從一個容器連接它,你可以將它更改為你當前機器的 IP。

您還可以設置路徑映射:通過單擊文件夾選擇器,然后將真實文件夾路徑選擇為 ${workspaceFolder}。

然后單擊OK按鈕保存它,然后單擊運行按鈕讓調試服務器運行起來並監聽遠程代碼以連接到它,它會在Debug工具 window 中顯示如下內容:

Starting debug server at port 12,345
Waiting for process connection…
Use the following code to connect to the debugger:
import pydevd_pycharm
pydevd_pycharm.settrace('some ip address', port=12345, stdoutToServer=True, stderrToServer=True)
  1. 在遠程機器/容器中安裝並運行調試服務器客戶端

在您的容器上,在終端中執行以下一次性命令(如果您使用的是 IDE 2022.3): pip3 install pydevd-pycharm~=223.8214.51

然后通過在源文件的開頭添加行來修改要調試的 Python 文件(此步驟是強制性的),例如:

#==============this code added==================================================================:
import pydevd_pycharm

pydevd_pycharm.settrace('some ip address', port=12345, stdoutToServer=True,
                        stderrToServer=True)
                        
# ... The other codes remain as is

然后你可以通過在遠程機器/容器的終端中執行以下命令來開始遠程調試: python3 myfile.py

  1. 返回本地IDE開始調試

剛完成第2步,現在本地IDE就開始調試了。

最后的結果可能是這樣的:

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM