Ubuntu Python模块如何导入与管理
小樊
45
2025-12-16 12:38:26
Ubuntu 下 Python 模块的导入与管理
一 基础准备与导入机制
- 确认环境:在终端执行 python3 --version 与 pip3 --version,确保已安装 Python 3 与 pip。导入模块使用标准语法:import、from … import …;若模块未安装会抛出 ModuleNotFoundError。建议为每个项目使用虚拟环境以避免依赖冲突。
- 模块搜索路径:Python 按以下顺序查找模块:当前脚本目录 → 环境变量 PYTHONPATH 指定的目录 → 用户级目录(如 ~/.local/lib/python3.x/site-packages/)→ 系统级目录(如 /usr/lib/python3/dist-packages/)。可用以下方式查看与调整:
- 查看路径:python3 -c “import sys; print(‘\n’.join(sys.path))”
- 临时添加路径:在代码中加入 sys.path.append(“/your/dir”) 或 sys.path.insert(0, “/your/dir”)(insert 优先级更高)
- 持久添加路径:在 ~/.bashrc 中导出 PYTHONPATH(export PYTHONPATH=/your/dir:$PYTHONPATH),然后 source ~/.bashrc
- 使用 .pth 文件:在 site-packages 目录创建如 mylib.pth,每行写入一个目录,Python 启动时会将其加入 sys.path。
二 安装与卸载模块
- 使用 apt(系统级):适合系统自带的稳定包,例如 sudo apt install python3-requests。此类包通常安装到 /usr/lib/python3/dist-packages,由 apt 管理依赖,不建议用 pip 覆盖。
- 使用 pip(用户级或虚拟环境):优先推荐在虚拟环境中使用 pip。常用命令:
- 安装:pip install package_name(或 pip3)
- 指定版本:pip install package==1.2.3
- 升级:pip install --upgrade package
- 卸载:pip uninstall package
- 批量安装:pip install -r requirements.txt
- 注意:避免使用 sudo pip install,以免污染系统目录并与 apt 包产生冲突。
- 使用 Conda(跨平台环境管理):适合数据科学场景与多版本并存,例如 conda create -n myenv python=3.10;conda activate myenv;conda install numpy。
三 虚拟环境与依赖管理
- 使用 venv(内置、轻量):
- 创建:python3 -m venv .venv
- 激活:source .venv/bin/activate(激活后命令行提示符会出现环境名)
- 安装:pip install -r requirements.txt 或 pip install package
- 导出/复现:pip freeze > requirements.txt;他人可用 pip install -r requirements.txt 恢复环境
- 退出:deactivate;删除:直接删除 .venv 目录
- 使用 Conda(环境与包一体化):
- 导出/复现:conda env export > environment.yml;conda env create -f environment.yml
- 实践建议:为每个项目单独创建虚拟环境;将 .venv 或 environment.yml 纳入版本控制(通常将 .venv 加入 .gitignore)。
四 导入本地模块与项目结构
- 推荐方式:将项目组织为包(含 init.py),通过相对或绝对导入使用。例如:
- 项目结构:myproj/ ├─ utils/ │ ├─ init.py │ └─ helper.py └─ main.py
- main.py:from utils.helper import func 或 from .utils.helper import func(包内相对导入)
- 临时方案:在运行目录下加入父目录到 sys.path,或使用 PYTHONPATH / .pth 文件(见第一部分)。
- 验证导入来源:在代码中打印模块路径,例如 python3 -c “import numpy; print(numpy.file)”,可确认实际加载的包位置。
五 常见问题与排查
- 命令未找到:确认是否安装对应工具(如 python3、pip3);必要时使用 python3 -m pip 确保调用的是当前 Python 的 pip。
- ModuleNotFoundError:优先在虚拟环境中 pip install;若使用系统包,确认未与 apt 包冲突。
- 版本冲突与混用风险:apt 与 pip 管理的包可能版本不一致,尽量避免在同一环境混用;优先在虚拟环境中使用 pip。
- 路径未生效:检查 PYTHONPATH 是否导出成功(echo $PYTHONPATH),或 .pth 文件是否位于正确的 site-packages 目录;必要时重启终端或重新激活虚拟环境。
- 网络问题:pip 安装慢可切换国内镜像源(如 -i https://mirrors.aliyun.com/pypi/simple)。