温馨提示×

Ubuntu 系统如何顺利安装 Python

小樊
45
2025-11-14 22:06:24
栏目: 编程语言

Ubuntu 安装 Python 的稳妥流程

一 安装前准备与版本选择

  • 先查看系统版本与已装 Python:lsb_release -a、python3 --version。Ubuntu 20.04 LTS 默认自带 Python 3.822.04 LTS 自带 Python 3.1024.04 LTS 自带 Python 3.12
  • 版本选择建议:优先选择最新的稳定 Python 3.x(如 3.11/3.12),避免使用已停止支持的 Python 2.x
  • 原则:不要随意替换系统自带的 python3,避免影响系统工具链;多版本并存时用工具或 alternatives 管理。

二 方法一 使用 APT 安装(新手推荐)

  • 更新索引并安装:sudo apt update && sudo apt install -y python3 python3-pip。
  • 验证:python3 --version、pip3 --version。
  • 按需安装常用附加包(以 3.12 为例):sudo apt install -y python3.12 python3.12-venv python3.12-dev。
  • 说明:这是最稳妥、与系统依赖最兼容的方式,适合大多数用户与服务器场景。

三 方法二 使用 Deadsnakes PPA 安装特定版本

  • 适用于需要 3.9/3.10/3.11/3.12 等特定版本的情况。
  • 步骤:
    1. sudo apt install -y software-properties-common
    2. sudo add-apt-repository -y ppa:deadsnakes/ppa
    3. sudo apt update
    4. 安装所需版本,例如:sudo apt install -y python3.11 python3.11-venv python3.11-dev
    5. 验证:python3.11 --version
  • 说明:PPA 由社区维护,版本更新及时,适合需要较新版本且不想自行编译的用户。

四 方法三 从源码编译安装(高级用户)

  • 适合需要自定义编译选项、优化或测试版的情况。
  • 步骤:
    1. 安装依赖:sudo apt install -y build-essential libssl-dev libffi-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev libncurses5-dev libncursesw5-dev xz-utils tk-dev libgdbm-dev libc6-dev wget
    2. 下载源码(示例 3.11.6):
      wget https://www.python.org/ftp/python/3.11.6/Python-3.11.6.tar.xz
      tar -xf Python-3.11.6.tar.xz && cd Python-3.11.6
    3. 配置与编译:./configure --enable-optimizations --with-ensurepip=install
      make -j$(nproc)
    4. 安全安装:sudo make altinstall(避免覆盖系统 python3)
    5. 验证:python3.11 --version
  • 说明:–enable-optimizations 会提升性能但编译更慢;使用 altinstall 是良好实践。

五 多版本管理与常见问题处理

  • 多版本切换与默认版本
    • 使用 alternatives:
      sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1
      sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 2
      sudo update-alternatives --config python3(交互选择)
    • 使用 pyenv(适合开发者):
      curl https://pyenv.run | bash
      在 ~/.bashrc 或 ~/.zshrc 添加:
      export PATH=“$HOME/.pyenv/bin:$PATH”
      eval “$(pyenv init --path)”
      eval “$(pyenv init -)”
      eval “$(pyenv virtualenv-init -)”
      然后:pyenv install 3.11.6;pyenv global 3.11.6(或 pyenv local 3.11.6 为项目设定本地版本)。
  • 虚拟环境与依赖隔离
    • venv:python3.11 -m venv .venv && source .venv/bin/activate(安装包时用 pip 而非 sudo pip)。
    • conda:适合数据科学场景(Miniconda/Anaconda)。
  • 常见问题速解
    • “python 命令未找到”:Ubuntu 20.04+ 默认无 python 符号链接,可用 alternatives 设置 python3,或按需谨慎创建软链(不建议覆盖系统 python3)。
    • pip 安装慢或失败:pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple 包名(使用国内镜像)。
    • 编译时报错缺 zlib:sudo apt install -y zlib1g-dev 后重新编译。
    • 多项目依赖冲突:始终优先使用 venv/conda 隔离环境,避免全局安装。

0