温馨提示×

ubuntu下python安装后如何管理

小樊
46
2025-10-12 03:48:08
栏目: 编程语言

Ubuntu下Python安装后的管理指南

1. 版本管理:灵活切换多版本Python

Ubuntu系统自带Python 3,但开发中常需切换不同版本(如3.8、3.9)。常用工具包括update-alternatives(系统级)和pyenv(用户级):

  • update-alternatives(系统级)
    适用于管理系统预装的Python版本。首先将目标版本注册到alternatives系统:
    sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1(注册Python 3.8,优先级1)
    sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.9 2(注册Python 3.9,优先级2)
    通过sudo update-alternatives --config python3交互式选择默认版本。
  • pyenv(用户级,推荐)
    支持安装、切换多个Python版本,不影响系统环境。安装步骤:
    • 安装依赖:sudo apt install build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libffi-dev
    • 克隆pyenv仓库:curl https://pyenv.run | bash
    • 配置环境变量(添加到~/.bashrc~/.zshrc):
      export PYENV_ROOT="$HOME/.pyenv"
      export PATH="$PYENV_ROOT/bin:$PATH"
      eval "$(pyenv init --path)"
      eval "$(pyenv init -)"
      
    • 应用配置:source ~/.bashrc
    • 使用命令:pyenv install 3.8.12(安装指定版本)、pyenv global 3.8.12(设为全局默认)、pyenv local 3.8.12(当前目录局部使用)。

2. 包管理:pip与requirements.txt规范依赖

pip是Python官方包管理工具,用于安装、升级、卸载包:

  • 基础操作
    安装包:pip install package_name(如pip install numpy);
    指定版本:pip install package_name==1.0.4(避免版本冲突);
    升级包:pip install --upgrade package_name
    卸载包:pip uninstall package_name
    列出已安装包:pip list
  • 依赖规范
    requirements.txt记录项目依赖(格式:package==version),便于团队复现环境。生成命令:pip freeze > requirements.txt;安装依赖:pip install -r requirements.txt
  • 批量升级
    升级所有过时包(排除可编辑安装的包):
    pip list --outdated --format freeze | grep -v '\-e' | cut -d = -f 1 | xargs -n1 pip install -U

3. 虚拟环境:隔离项目依赖冲突

虚拟环境是Python项目管理的关键,避免全局包混乱。常用工具为venv(Python 3内置):

  • 创建与激活
    创建虚拟环境:python3 -m venv myenvmyenv为环境目录名);
    激活环境:source myenv/bin/activate(激活后终端提示符显示环境名);
    退出环境:deactivate
  • 注意事项
    激活环境后,所有pip install操作仅作用于当前环境;项目目录下建议添加requirements.txt,便于他人快速搭建相同环境。

4. 系统Python保护:避免误操作

Ubuntu系统依赖自带Python(如gnome-terminalunity等工具),修改系统Python可能导致系统故障:

  • 不要删除系统Python:系统Python路径通常为/usr/bin/python3,删除会影响系统稳定性;
  • 使用虚拟环境或pyenv:所有自定义Python安装或版本切换应在虚拟环境或pyenv中进行,避免修改系统路径。

0