在 Ubuntu 上 Python 无法导入模块,通常不是 Python 本身坏了,而是环境或路径问题。下面按最常见原因给你排查清单,你可以对照看。
Ubuntu 常同时有:
python3(系统默认)python(可能是 Python 2)which python
which python3
python --version
python3 --version
如果你这样装:
pip install xxx
但运行:
python3 script.py
就可能找不到模块
✅ 正确做法:
python3 -m pip install xxx
python3 script.py
检查:
python3 -m pip --version
pip3 --version
建议永远用:
python3 -m pip install 包名
如果你用 venv:
python3 -m venv venv
source venv/bin/activate
❌ 没激活就 import → 报错 ModuleNotFoundError
python3 -c "import 包名"
如果报错:
ModuleNotFoundError: No module named 'xxx'
那就:
python3 -m pip install xxx
例如:
project/
├── main.py
└── utils.py
main.py 里:
import utils # ✅
from project.utils import xxx # ❌
⚠️ 在 Ubuntu 下运行方式很重要:
python3 main.py # ✅
python3 project/main.py # ❌
不要改系统 Python:
sudo pip install xxx # ❌ 危险
✅ 推荐:
python3 -m pip install --user xxx
或虚拟环境。
如果你自己写了模块:
export PYTHONPATH=$PYTHONPATH:/你的路径
python3 -c "import sys; print(sys.path)"
python3 -m pip list | grep 包名
which python3
把下面信息发我:
例如:
Ubuntu 22.04,python3 main.py 报错 ModuleNotFoundError: numpy
我可以直接告诉你该用哪条命令。