Ubuntu 下 Python 报错的原因非常多,报错信息是关键。下面给你一个通用排查 + 常见报错的快速解决方案清单,你可以对照使用。
一、先看报错类型(最重要)
在终端运行 Python 程序时,一定要复制完整报错信息(Traceback),例如:
ModuleNotFoundError: No module named 'requests'
常见报错类别:
- ✅ ModuleNotFoundError
- ✅ SyntaxError
- ✅ PermissionError
- ✅ UnicodeDecodeError
- ✅ RuntimeError / ImportError
你可以直接把报错贴出来,我可以精确帮你分析。
二、最常见 Ubuntu Python 报错 & 解决方法
1️⃣ ModuleNotFoundError / ImportError
原因:模块没装或装错 Python 版本
✅ 解决:
# 确认当前 python
which python3
python3 --version
# 安装模块(推荐)
python3 -m pip install requests
⚠️ 不要用 sudo pip(容易破坏系统)
❌ 不推荐:
sudo pip install xxx
2️⃣ python 命令不存在 / 指向 Python 2
Ubuntu 20.04+ 默认没有 python,只有 python3
✅ 解决:
python3 main.py
或临时指定:
sudo apt install python-is-python3
3️⃣ pip 命令不存在
✅ 解决:
sudo apt update
sudo apt install python3-pip
验证:
pip3 --version
4️⃣ 权限错误(PermissionError)
原因:写了系统目录 / 没权限
✅ 解决:
- 不要用
sudo python - 改文件权限:
chmod 755 your_script.py
5️⃣ SyntaxError(语法错误)
常见于:
- 用 Python 2 语法
- 缩进错误
- 中文符号
✅ 解决:
python3 main.py
✅ 检查:
- 是否用了
print x(Python 2) - Tab / 空格混用(推荐 4 个空格)
6️⃣ 编码错误(UnicodeDecodeError)
✅ 解决:
with open('file.txt', encoding='utf-8') as f:
content = f.read()
或在脚本开头加:
# -*- coding: utf-8 -*-
三、强烈推荐的 Ubuntu Python 正确环境
✅ 使用 venv(避免系统污染)
python3 -m venv venv
source venv/bin/activate
pip install requests
退出:
deactivate
四、快速自检清单
python3 --version
pip3 --version
python3 -c "import sys; print(sys.executable)"
五、我可以直接帮你精确定位
你可以直接发我以下信息之一:
1️⃣ 完整报错信息(Traceback)
2️⃣ 你执行的命令
3️⃣ 使用的 Python 版本
例如:
Ubuntu 22.04
Python 3.10
报错:ModuleNotFoundError: No module named ‘numpy’
我可以一步一步帮你解决 ✅