Debian如何配置Python调试工具

下面会按照一种从基础层面逐渐深入到进阶层面的方式, 来说明在指定平台上配置对应调试工具的常见做法, 这种方法适用于版本号为11或者12(也包含相关的平台环境)的情况。

一、首先需要准备好基础环境, 然后安装开发工具。

默认已经自带了, 不过大家最好还是把完整开发环境给安上比较好。

复制代码
sudo apt update

sudo apt install -y python3 python3-pip python3-venv python3-dev

  1. 建议你先去创建一下虚拟环境, 这一步是特别特别值得去做的。

就是需要采取措施, 以防止污染系统。

复制代码
python3 -m venv venv

source venv/bin/activate

二、常用调试工具配置一, 安装pdb, 这个是内置的调试器。

这个软件是已经预装好的, 你不需要再去进行安装操作。

使用方式

第一种开启的方式呢, 就是用那个命令行来直接启动。

复制代码
python3 -m pdb script.py

方式二是选择在代码里面插入断点。

复制代码
import pdb

pdb.set_trace()

第三种方法, 也就是标注为数字3.7加的那个方式。

复制代码
breakpoint()

常用命令命令说明

下一行

进入那个函数里面去。

继续执行

查看代码

p x

打印变量

退出

  1. 建议安装增强版的调试工具, 其中具体包含的是ipdb这一款被明确标识为1的增强版pdb程序。

支持自动补全功能, 同时也支持实现语法高亮的效果。

复制代码
pip install ipdb

使用:

复制代码
import ipdb

ipdb.set_trace()

或:

复制代码
python3 -m ipdb script.py

第二个是pudb, 它是一种在终端里面运行的、带有图形界面的调试工具。

这个界面的样子和 Turbo C 非常接近, 它非常适合那些刚入门学习的初学者。

复制代码
pip install pudb

开始运行这个任务。

复制代码
pudb3 script.py

快捷键:

三、在IDE或者编辑器里面进行调试配置的环节里, VS Code这个工具是最为常用的, 你需要先安装相关的插件以及做好配置工作来开启调试功能并打开项目,然后按下键盘上的 Ctrl + Shift + D键, 接着去创建一个.json文件。

示例:

复制代码
{

"version": "0.2.0",

"configurations": [

{

"name": "Python: 当前文件",

"type": "python",

"request": "launch",

"program": "${file}",

"justMyCode": false

}

]

}

表示认可和支持。

  1. 第四部分讲的是远程调试以及服务器调试, 这在服务器上是很常用的操作, 然后第一点是关于使用VS Code来进行远程调试。

    pip install debugpy

启动脚本:

复制代码
import debugpy

debugpy.listen(("0.0.0.0", 5678))

debugpy.wait_for_client()

把 VS Code 这个软件的设置和配置工作, 给弄好。

复制代码
{

"type": "python",

"request": "attach",

"connect": {

"host": "服务器IP",

"port": 5678

}

}

五、在生产环境当中, 大家通常会推荐使用日志调试的方法, 用这种方法来替代print。

复制代码
import logging

logging.basicConfig(level=logging.DEBUG)

logging.debug("调试信息")

logging.info("运行信息")

六、 出现了一个常见的问题, 那就是通过pip安装的包找不到?

我们可以选择去使用一下那个虚拟环境或者。

复制代码
python3 -m pip install xxx
  1. 那个系统<, 被错误地进行了修改。

不要改动 /usr/bin/ 这个地方, 你应该使用 venv 或者是 conda。

七、对场景推荐进行总结, 给出推荐的组合情况。

尽快进行快速调试。

pdb / ipdb

可视化调试

pudb

本地开发

VS Code

服务器调试

生产问题

若你在心里头觉得是愿意的那一种情况的话, 你能够告诉我。

我可以为你提供一份完全定制的调试配置方案。

相关推荐
MoRay11 分钟前
放弃云端 Computer Use,我用 Python 手搓了一个带“物理防呆”的本地 GUI Agent 底座
python·github
青少儿编程课堂2 小时前
蓝桥杯·全国青少年信息素养大赛·电子学会Python/C++考级:Bellman-Ford与SPFA含负权最短路及负环检测全解析
c++·python·算法·bfs·信息学竞赛
小小张说故事2 小时前
Python 的 __init__ 到底是不是构造函数?拆开 __new__ 先造对象、那次被跳过的初始化和必须返回 None 的规矩
python
拖累斯2 小时前
Jenkins + Python 全自动跑通「禅道任务/BUG 导出 → 月度开发考核表」
python·jenkins·bug
特立独行的猫A2 小时前
13MB 单文件、一条命令变服务:把仓颉写的 cjh 内嵌进你的应用,当它的 AI 大脑
java·后端·python
deepseek233 小时前
Agent任务中途断线,怎么避免重复执行?SQLite检查点实测
python·sqlite·任务调度·幂等性·ai agent
2401_868534784 小时前
【网络安全
网络·python
❁满城风絮*14 小时前
Claude Code 学习总结
python·agent·claude
维克兜率天17 小时前
【维克】复合型CTA:趋势+套利的双轮驱动
python·学习方法