游乐游手机版
首页/编程语言/文章详情

Ubuntu环境下Python远程调试的详细配置方法及实战技巧

时间:2026-07-21 06:10
Python在Ubuntu上的远程调试主要有三种方案:VSCode的RemoteDevelopment扩展包通过SSH直连实现本地编写远程调试;PyCharmProfessional版借助DebugServer与pydevd_pycharm库建立连接;轻量级工具rpdb基于pdb实现远程调试。需注意端口安全、环境一致性与端口冲突问题。

在Ubuntu服务器上进行Python代码远程调试,是许多开发者面临的常见需求。虽然网上教程众多,但真正实用且能覆盖不同场景的解决方案,其实主要集中在几套成熟方案上。本文将从IDE集成调试到轻量级工具,逐一详细解析,帮助您快速掌握远程调试技巧。

Python在Ubuntu上的远程调试方法

1. 使用VS Code的Remote Development扩展包实现远程调试(推荐)

在远程调试领域,VS Code的Remote Development扩展包堪称一把利器。它通过SSH直连远程Ubuntu服务器,让您可以在本地编写和修改代码,而调试器则在远程服务器上运行,体验几乎与本地开发无异。具体操作步骤如下:

Python在Ubuntu上如何进行远程调试

  • 首先安装扩展。在VS Code扩展商店中搜索“Remote – SSH”并安装(前提是本地已安装VS Code)。
  • 配置SSH连接。按下Ctrl+Shift+P打开命令面板,输入“Remote-SSH: Connect to Host…”,然后输入远程服务器的SSH地址,如user@remote_host。连接成功后,VS Code会自动在远程服务器上安装必要的组件,整个过程无需手动干预。
  • 配置调试器。在VS Code中创建launch.json文件——点击左侧“Run and Debug”图标,再点击齿轮图标。添加以下配置(请根据实际情况替换remote_host和路径):
    {"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 -m debugpy --listen 0.0.0.0:5678 /path/to/your/script.py
    然后返回VS Code,点击“开始调试”按钮,即可看到断点、单步执行、变量监视等功能正常运行。

2. 使用PyCharm Professional Edition进行远程调试

如果您是PyCharm的忠实用户,其专业版(Professional Edition)自带的远程调试功能同样非常成熟。核心思路是在本地启动一个Debug Server,远程脚本通过pydevd_pycharm库连接回本地。具体操作步骤如下:

  • 安装pydevd-pycharm库。在远程Ubuntu服务器上,使用pip安装与本地PyCharm版本匹配的库,例如pip install pydevd-pycharm==221.5921.27(具体版本号请根据本地PyCharm版本确定)。
  • 配置PyCharm Debug Server。打开PyCharm,点击“Edit Configurations”→“+”→“Python Debug Server”,填写以下信息:
    • Name:任意名称,例如“Ubuntu Debug”;
    • IDE host name:本地机器的IP地址,如192.168.1.100
    • Port:调试端口号,如2233
  • 修改远程代码。在需要调试的Python脚本中,添加以下代码(确保IP和端口与上述配置一致):
    import pydevd_pycharmpydevd_pycharm.settrace('192.168.1.100', port=2233, stdoutToServer=True, stderrToServer=True)
  • 启动调试。首先在PyCharm中点击“Debug Ubuntu Debug”按钮,启动调试服务。然后在远程服务器上运行脚本(python3 script.py),PyCharm将自动连接并进入调试模式,断点、变量监控等功能均可正常使用。

3. 使用rpdb远程调试库实现轻量级远程调试

如果您不想配置复杂的IDE,仅需偶尔快速定位问题,那么rpdb是一个绝佳选择。它基于Python内置的pdb调试器,但扩展为远程模式,只需几行代码即可实现远程调试。

  • 安装rpdb。需要在本地和远程服务器上都安装,执行pip install rpdb
  • 插入断点。在需要调试的脚本中,添加以下代码(指定监听地址和端口):
    import rpdbrpdb.set_trace(address=('0.0.0.0', 4444))# 监听所有IP的4444端口
  • 连接调试。在本地机器上,使用telnet或nc工具连接远程服务器的端口:
    telnet remote_host 4444# 或 nc remote_host 4444
    连接成功后,就可以使用pdb的命令了——c继续执行、n单步执行、p 变量名打印变量值,与本地调试体验完全一致。

注意事项

  • 安全性:远程调试需要开放端口,建议使用SSH隧道加密通信(例如VS Code的Remote - SSH扩展默认使用SSH加密)。此外,避免使用弱密码,推荐使用SSH密钥登录。
  • 环境一致性:确保本地和远程服务器的Python版本以及依赖库一致。推荐使用requirements.txt或虚拟环境(如venv、conda)来同步环境,避免调试时出现意外错误。
  • 端口冲突:调试端口(如5678、2233、4444)需确保未被占用,可以使用netstat -tulnp | grep 端口号命令进行检查。
来源:https://www.yisu.com/ask/36496309.html
上一篇Ubuntu下PHP脚本执行效率提升技巧 下一篇Ubuntu上安装Python后服务启动指南
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
通过cpustat工具查看CPU状态的具体方法与详细步骤
编程语言 · 2026-07-25

通过cpustat工具查看CPU状态的具体方法与详细步骤

cpustat是sysstat包中的CPU监控工具,可按固定间隔输出带时间戳的CPU使用率统计。安装后运行cpustat即可实时显示各核心信息,常用指标包括%usr、%sys、%iowait、%steal和%idle,用于定位用户态、内核态或I O瓶颈。高级选项-c可显示单核统计,-m可同时查看内存使用,适合脚本采集和性能分析。

Linux系统中如何使用cpustat生成CPU性能报告的详细步骤
编程语言 · 2026-07-25

Linux系统中如何使用cpustat生成CPU性能报告的详细步骤

cpustat是sysstat套装中的CPU监控工具,安装后执行可查看实时CPU统计信息,通过重定向输出保存报告。结合cron定时任务,可每日自动生成并命名带日期的报告文件,便于长期监控分析。

cpustat命令检查CPU错误的详细方法
编程语言 · 2026-07-25

cpustat命令检查CPU错误的详细方法

cpustat是Linux性能监控工具,通过安装sysstat包运行,关注us、sy、id、wa、st等指标,异常可反映系统负载过高或性能瓶颈。长期监控可重定向输出至文件分析。但cpustat不直接检测硬件错误,需结合dmesg、厂商诊断工具或系统日志确认硬件问题。

cpustat命令输出信息详解
编程语言 · 2026-07-25

cpustat命令输出信息详解

cpustat是Linux系统sysstat工具包中的命令行工具,输出涵盖CPU使用率(用户态、系统态、空闲态等)、上下文切换次数、中断次数、CPU迁移情况、微秒级时间戳等信息,并支持按不同时间间隔采样,灵活监控CPU性能。

使用cpustat诊断系统性能问题的完整指南
编程语言 · 2026-07-25

使用cpustat诊断系统性能问题的完整指南

cpustat是sysstat工具包中的CPU性能诊断分析工具,主要可实时监控各项CPU使用率、上下文切换、中断次数等系统指标。通过解读用户态、系统态、I O等待时间、窃取等关键列定位CPU瓶颈,并可结合top、sar深入分析各进程或线程,常用于系统性能问题排查。