有没有办法使用 IntelliJ 远程调试 Python3?我找不到任何选项。使用 VS Code,就像拥有此文件一样简单:
launch.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插件,通过设置>插件>市场,输入Python
,然后点击安装按钮。
这是有关使用 Python 远程调试服务器配置进行远程调试的分步指南 https://www.jetbrains.com/help/pycharm/remote-debugging-with-product.html#remote-debug-config :
- 让 IDEA/PyCharm 在本地运行 IDE 的计算机上托管调试器服务器:
注意:这一步与 VS Code 相比有很大不同(抱歉我对这个工具了解甚少),在 VS Code 中它使用包 https://github.com/microsoft/debugpy ,但它首先会调用 python -m debugpy --listen 0.0.0.0:5678 ./myscript.py
在远程机器/docker上创建调试服务器,然后是客户端(这里是 VS Code )连接到它。但在 IDEA/PyCharm 中,情况恰恰相反:Python 调试服务器正在本地计算机上监听,远程脚本将连接到 IDE 的服务器。
从主菜单中,选择运行|编辑配置.... 将打开“运行/调试配置”对话框。您必须单击工具栏上的“添加配置”,然后从可用配置列表中选择Python 调试服务器。
请将端口更改为 0 到 65535 之间的其他数字,默认值 0
在此不起作用,然后记住 IDE 主机名
区域上方的步骤。
有关IDE主机名
的更多信息:如果调试服务器不在同一台机器上,用户可以指定另一个主机(默认为localhost
)。如果您想从容器连接它,您可以将其更改为当前计算机的 IP。
您还可以设置路径映射:,方法是单击文件夹选择器,然后选择实际文件夹路径 ${workspaceFolder}。
然后单击OK
按钮保存,然后单击运行按钮让调试服务器运行并监听远程代码以连接到它,它将在调试
工具窗口:
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)
- 在远程计算机/容器中安装并运行调试服务器客户端
在您的容器上,在终端中执行以下一次性命令(如果您使用的是 IDE 2022.3):
pip3安装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
- 返回本地IDE并开始调试
在第2步之后,现在本地IDE将开始调试。
最终结果可能如下所示:
关于python - 如何使用 IntelliJ 远程调试 Python?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75127383/