温馨提示×

Ubuntu Python模块如何导入与管理

小樊
45
2025-12-16 12:38:26
栏目: 编程语言

Ubuntu 下 Python 模块的导入与管理

一 基础准备与导入机制

  • 确认环境:在终端执行 python3 --versionpip3 --version,确保已安装 Python 3pip。导入模块使用标准语法: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
  • 实践建议:为每个项目单独创建虚拟环境;将 .venvenvironment.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 包冲突。
  • 版本冲突与混用风险:aptpip 管理的包可能版本不一致,尽量避免在同一环境混用;优先在虚拟环境中使用 pip。
  • 路径未生效:检查 PYTHONPATH 是否导出成功(echo $PYTHONPATH),或 .pth 文件是否位于正确的 site-packages 目录;必要时重启终端或重新激活虚拟环境。
  • 网络问题:pip 安装慢可切换国内镜像源(如 -i https://mirrors.aliyun.com/pypi/simple)。

0