最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Python在Ubuntu上如何完成远程调试
时间:2026-07-19 09:22:02 编辑:袖梨 来源:一聚教程网
Python在Ubuntu上的远程调试方法
1. 使用VS Code的Remote Development扩展包(推荐)
VS Code的Remote Development扩展包是远程调试的常用工具,支持通过SSH连接远程Ubuntu服务器,实现本地编辑、远程调试的无缝体验。步骤:

- 安装扩展:在VS Code中搜索并安装“Remote – SSH”扩展(需提前安装VS Code)。
- 配置SSH连接:打开VS Code命令面板(
Ctrl+Shift+P),输入“Remote-SSH: Connect to Host…”,输入远程Ubuntu服务器的SSH地址(如user@remote_host),连接成功后VS Code会在远程服务器上安装所需组件。 - 配置调试器:在VS Code中创建
launch.json文件(点击左侧“Run and Debug”→齿轮图标),添加以下配置:{"version": "0.2.0","configurations": [{"name": "Python: Remote Attach","type": "python","request": "attach","connect": {"host": "remote_host",// 远程服务器IP或域名"port": 5678 // 调试端口(需与远程一致)},"pathMappings": [{"localRoot": "${workspaceFolder}",// 本地项目路径"remoteRoot": "/path/to/your/project"// 远程项目路径}]}]} - 启动远程调试:在远程Ubuntu服务器上运行Python脚本时,添加调试参数:
回到VS Code,点击“开始调试”按钮,即可连接远程调试会话,支持断点、步进、变量查看等功能。python -m debugpy --listen 0.0.0.0:5678 /path/to/your/script.py
2. 使用PyCharm Professional Edition的远程调试功能
PyCharm Professional Edition支持远程调试,通过配置Python Debug Server实现本地与远程的联动。步骤:
- 安装pydevd-pycharm库:在远程Ubuntu服务器上安装指定版本的
pydevd-pycharm库(版本需与PyCharm匹配,如pip install pydevd-pycharm==221.5921.27)。 - 配置PyCharm Debug Server:打开PyCharm,点击“Edit Configurations”→“+”→“Python Debug Server”,填写以下信息:
- Name:自定义名称(如“Ubuntu Debug”);
- IDE host name:本地机器IP(如
192.168.1.100); - Port:调试端口(如
2233)。
- 修改远程代码:在被调试的Python脚本中添加以下代码(与PyCharm配置一致):
import pydevd_pycharmpydevd_pycharm.settrace('192.168.1.100', port=2233, stdoutToServer=True, stderrToServer=True) - 启动调试:在PyCharm中点击“Debug Ubuntu Debug”按钮,启动调试服务;然后在远程Ubuntu服务器上运行脚本(
python3 script.py),PyCharm会自动连接并进入调试模式,支持断点、变量监控等功能。
3. 使用rpdb远程调试库(轻量级方案)
rpdb是基于pdb的远程调试库,适合简单的远程调试场景,无需复杂配置。步骤:
- 安装rpdb:在本地和远程Ubuntu服务器上安装
rpdb库(pip install rpdb)。 - 插入断点:在被调试的Python脚本中添加以下代码(指定监听地址和端口):
import rpdbrpdb.set_trace(address=('0.0.0.0', 4444))# 监听所有IP的4444端口 - 连接调试:在本地机器上使用telnet或nc工具连接远程调试端口:
连接成功后,可使用pdb命令(如telnet remote_host 4444# 或 nc remote_host 4444c继续、n下一步、p变量名打印变量)进行调试。
注意事项
- 安全性:远程调试需开放端口,建议使用SSH隧道加密通信(如VS Code的Remote - SSH扩展默认通过SSH加密);避免使用弱密码,推荐使用SSH密钥登录。
- 环境一致性:确保本地与远程Ubuntu服务器的Python版本、依赖库一致(可通过
requirements.txt或虚拟环境同步)。 - 端口冲突:调试端口(如5678、2233、4444)需未被占用,可通过
netstat -tulnp | grep 端口号检查。
相关文章
- 逆战未来枪械大全 逆战未来枪械稀有度等级与获取方式详解 07-19
- 逆战未来新手攻略 逆战未来萌新入门避坑指南 07-19
- "无醇啤酒"是完全不含酒精吗 蚂蚁庄园1月17日答案早知道 07-19
- "太常寺"是古代掌管什么事务的机构 蚂蚁新村1月16日答案 07-19
- 四川名菜"开水白菜"就是用开水炖白菜吗 蚂蚁庄园1月17日答案早知道 07-19
- 蚂蚁新村今天正确答案1.16 07-19