Ubuntu 安装 Python 的稳妥流程

想在 Ubuntu 上顺利安装 Python,准备工作做扎实,后续能省去不少麻烦。下面这个流程,可以说是兼顾了稳妥与高效。
一 安装前准备
动手之前,先做好这几步,相当于给后续的安装铺平道路。
- 确认系统版本与架构:打开终端,执行
lsb_release -a。弄清楚你的系统是 20.04、22.04 还是 24.04,这直接关系到后续该选择哪个版本的安装包和软件仓库。 - 更新索引并升级系统:运行
sudo apt update && sudo apt upgrade -y。这能确保你的软件源是最新的,从源头上减少潜在的依赖冲突。 - 安装常用构建依赖:这一步很关键,尤其是如果你后续可能需要从源码编译某些包。执行这条命令来安装常用工具链:
sudo apt install -y build-essential zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev libssl-dev libffi-dev libncurses5-dev libncursesw5-dev xz-utils tk-dev liblzma-dev wget curl llvm python3-openssl。 - 版本选择建议:选哪个版本?这里有个简单的参考:启动新项目,可以优先考虑 Python 3.12.x;数据科学领域,3.9 到 3.11 都是稳妥的选择;机器学习项目,3.8 到 3.11 的生态支持比较成熟;Web 开发则 3.8 及以上版本均可。需要警惕的是,Python 2 早在 2020 年就已停止官方支持,除非你要维护遗留项目,否则不建议再碰它。
二 三种安装方式
根据你的需求,总有一款适合你。从最省事的到最灵活的,我们挨个看。
-
方式一 APT 安装(推荐,简单稳妥)
- 安装基础命令与 pip:
sudo apt update后,执行sudo apt install -y python3 python3-pip。这是最直接的方式。 - 如需特定小版本:比如你想安装 3.12,可以这样:
sudo apt install -y python3.12 python3.12-venv python3.12-distutils。 - 验证:安装完成后,用
python3.12 --version和pip3.12 --version确认一下。这里有个小提示:Ubuntu 20.04 默认自带 Python 3.8,22.04 则默认是 3.10。如果官方仓库的版本不够新,别急,后面“版本选择与切换”一节会告诉你怎么办。
- 安装基础命令与 pip:
-
方式二 编译安装(可定制与获取最新版本)
- 下载源码:以 3.12.8 为例,执行
wget https://www.python.org/ftp/python/3.12.8/Python-3.12.8.tgz,然后解压并进入目录:tar -xvf Python-3.12.8.tgz && cd Python-3.12.8。 - 配置与编译:运行
./configure --enable-optimizations。注意,开启优化选项会显著延长编译时间,如果赶时间可以关闭。配置完成后,用make -j “$(nproc)”开始编译,充分利用多核性能。 - 安装:关键一步,使用
sudo make altinstall。这能确保新安装的 Python 不会覆盖系统自带的python3命令,避免引发系统工具依赖问题。 - 验证:最后,用
python3.12 --version检查是否成功。话说回来,如果你需要同时保留多个版本,编译安装配合版本管理工具会更方便。
- 下载源码:以 3.12.8 为例,执行
-
方式三 版本管理工具 Pyenv(多版本并存与切换)
- 安装 pyenv:一条命令搞定:
curl https://pyenv.run | bash。 - 配置环境变量:将以下内容写入你的
~/.bashrc或~/.zshrc文件,然后执行source ~/.bashrc使其生效:echo ‘export PATH=“$HOME/.pyenv/bin:$PATH”’ >> ~/.bashrc echo ‘eval “$(pyenv init --path)”’ >> ~/.bashrc echo ‘eval “$(pyenv virtualenv-init -)”’ >> ~/.bashrc - 安装与切换版本:现在可以安装指定版本了,比如
pyenv install 3.12.8。安装后,使用pyenv global 3.12.8设置为全局默认版本,或者用pyenv local 3.12.8仅在当前项目目录生效。 - 验证:运行
python --version,看看是否已经切换成功。Pyenv 的优势在于,它能让你在 3.8 到 3.12 乃至更多版本间无缝切换,特别适合需要测试多版本兼容性的开发场景。
- 安装 pyenv:一条命令搞定:
三 版本选择与切换
系统仓库的版本不够用?或者你需要管理多个默认版本?这几个技巧能帮到你。
- 使用 deadsnakes PPA 获取更多版本:比如想安装 Python 3.11,可以依次执行:
sudo add-apt-repository ppa:deadsnakes/ppa sudo apt update sudo apt install -y python3.11 python3.11-venv - 使用 alternatives 设置系统默认 python3:如果你想把 3.12 设为系统级的
python3命令,可以这样操作(注意风险):sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.12 100 sudo update-alternatives --config python3 # 然后通过交互界面选择 - 注意:这里有个重要原则,不要随意替换系统自带的
/usr/bin/python3,因为很多系统工具(比如 apt)依赖它。更稳妥的做法是,直接使用python3.x这样的具体版本命令,并通过python3.x -m venv来创建虚拟环境进行隔离。
四 验证与虚拟环境
安装好了,还没完。做好验证和环境隔离,才是专业操作的开始。
- 验证安装:老规矩,
python3.12 --version和pip3.12 --version走一遍。 - 升级 pip 并配置镜像:为了更好的体验,建议升级 pip 并(特别是国内用户)配置镜像源加速:
python3.12 -m pip install -U pip python3.12 -m pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/ - 创建与使用虚拟环境:强烈推荐为每个项目使用虚拟环境。操作非常简单:
python3.12 -m venv .venv # 创建 source .venv/bin/activate # 激活 pip install -r requirements.txt # 在虚拟环境中安装包 deactivate # 退出 - 数据科学场景可选 Anaconda/Miniconda:如果你是数据科学工作者,可能更熟悉 Conda。下载安装脚本后执行
bash Anaconda3-*.sh,之后就可以用conda create -n myenv python=3.11这样的命令来创建隔离环境了。
五 常见问题与排错
最后,盘点几个常遇到的坑和解决办法,以备不时之需。
- 命令未找到或版本不对:首先确认是否安装了对应的
python3.x和python3.x-venv包。创建虚拟环境时,务必使用python3.x -m venv来指定解释器,避免依赖不可控的系统默认版本。 - 依赖缺失导致编译失败:如果编译安装时出错,回头检查一下“安装前准备”里列出的那些构建依赖(如
build-essential,libssl-dev,libffi-dev等)是否都已安装齐全。 - 多版本并存冲突:管理多个版本,最佳实践是使用 pyenv 或 update-alternatives 进行系统级管理,然后在项目内部,坚持使用虚拟环境(venv)进行隔离。
- 权限与安全性:日常操作中,尽量避免使用 root 权限运行 pip 安装包。优先在用户目录下,或者在虚拟环境内进行安装,这样更安全。
- 需要更高版本或新特性:如果官方仓库的版本实在滞后,前面提到的 deadsnakes PPA 和源码编译就是你的出路。不过切记,涉及生产环境的任何版本变更,务必先在测试环境充分验证。
