温馨提示×

怎样调试debian python

小樊
32
2026-09-02 03:57:49
栏目: 编程语言

在 Debian 上调试 Python 程序,通常从环境确认 → 运行报错 → 日志/断点 → 系统级问题一步步来。下面给你一套实用做法。


一、先确认基础环境

1. 查看 Python 版本

python3 --version
which python3

Debian 通常自带 python3,不要用 python(可能是 Python 2)。

2. 确认 pip

python3 -m pip --version

如果没装:

sudo apt update
sudo apt install python3-pip

二、最常见:直接看错误信息

运行脚本:

python3 your_script.py

重点看:

  • Traceback (most recent call last)
  • 最后一行错误类型(如 ModuleNotFoundError

常见错误速查

错误 原因 解决
ModuleNotFoundError 没装包 pip install xxx
PermissionError 权限不足 sudo 或虚拟环境
ImportError 路径问题 检查 sys.path
Segmentation fault C 扩展问题 升级/重装相关库

三、使用调试器(pdb)

1. 命令行调试

python3 -m pdb your_script.py

常用命令:

  • n 下一步
  • s 进入函数
  • c 继续
  • l 查看代码
  • p 变量 打印变量

2. 在代码里打断点

import pdb
pdb.set_trace()

(Python 3.7+ 也可写 breakpoint()


四、使用虚拟环境(强烈推荐)

避免系统 Python 被搞乱:

sudo apt install python3-venv
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

退出:

deactivate

五、查看日志和输出

1. 打印日志

import logging
logging.basicConfig(level=logging.DEBUG)

2. 后台程序

journalctl -u your_service

tail -f /var/log/syslog

六、系统级调试(Debian 特有)

1. 缺少系统库

ldd $(which python3)

2. 安装编译依赖

sudo apt install python3-dev build-essential

3. 服务无法启动

systemctl status your_service

七、图形化 / 高级工具(可选)

  • VS Code(Remote SSH 到 Debian)
  • PyCharm
  • ipdb(增强 pdb)
pip install ipdb

八、如果你愿意,我可以直接帮你

你可以告诉我:

  1. Debian 版本(cat /etc/debian_version
  2. Python 版本
  3. 具体报错信息(完整 Traceback)
  4. 是脚本 / Web 服务 / 系统服务?

我可以一步一步帮你定位问题。

0