pin_drop当前位置:知识文库 ❯ 图文

Python 安装 - Linux

Linux系统通常预装了Python,但版本可能较旧。本教程将介绍在Linux系统上安装Python的两种方式:使用包管理器安装(简单快捷)和源码编译安装(灵活可控)。同时还会讲解如何设置默认Python版本以及多版本管理的方法。


使用包管理器安装

不同的Linux发行版使用不同的包管理器,下面分别介绍主流发行版的安装方法。

Ubuntu / Debian

代码示例

sudo apt update
sudo apt install python3
sudo apt install python3-pip python3-venv

安装开发工具(编译C扩展时需要):

代码示例

sudo apt install python3-dev
sudo apt install build-essential

CentOS / RHEL / Fedora

CentOS / RHEL:

代码示例

sudo yum install python3
sudo yum install python3-pip

Fedora:

代码示例

sudo dnf install python3
sudo dnf install python3-pip

Arch Linux

代码示例

sudo pacman -S python
sudo pacman -S python-pip

openSUSE

代码示例

sudo zypper install python3
sudo zypper install python3-pip

安装指定版本

某些发行版的仓库中可能包含多个Python版本:

代码示例

sudo apt install python3.11
sudo apt install python3.12

提示:如果仓库中没有所需版本,可以考虑使用Deadsnakes PPA(Ubuntu)或从源码编译安装。

Ubuntu添加Deadsnakes PPA

代码示例

sudo apt install software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install python3.12

源码编译安装

当包管理器中没有所需版本,或者需要自定义编译选项时,可以从源码编译安装。

1. 安装编译依赖

Ubuntu / Debian:

代码示例

sudo apt update
sudo apt install -y build-essential zlib1g-dev libncurses5-dev libgdbm-dev \
    libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev \
    wget libbz2-dev liblzma-dev

CentOS / RHEL:

代码示例

sudo yum groupinstall -y "Development Tools"
sudo yum install -y gcc openssl-devel bzip2-devel libffi-devel zlib-devel \
    xz-devel sqlite-devel readline-devel tk-devel gdbm-devel

2. 下载源码

代码示例

cd /tmp
wget https://www.python.org/ftp/python/3.12.3/Python-3.12.3.tgz

提示:请到 Python官网 查看最新版本号并替换。

3. 解压源码

代码示例

tar -xf Python-3.12.3.tgz
cd Python-3.12.3

4. 配置编译选项

代码示例

./configure --enable-optimizations --with-ensurepip=install
选项 说明
--enable-optimizations 启用PGO优化,运行速度提升约10-20%,但编译时间更长
--with-ensurepip=install 自动安装pip
--prefix=/usr/local 指定安装路径,默认为 /usr/local

5. 编译并安装

代码示例

make -j$(nproc)
sudo make altinstall

⚠️ 重要:使用 altinstall 而不是 installinstall 会覆盖系统默认的Python版本,可能导致系统工具异常。altinstall 会安装为 python3.12,不会影响已有的 python3 命令。

6. 验证编译安装

代码示例

python3.12 --version

验证安装

检查Python版本

代码示例

python3 --version

预期输出:

代码示例

Python 3.12.x

检查pip版本

代码示例

python3 -m pip --version

提示:在Linux上推荐使用 python3 -m pip 代替 pip3,可以确保pip与对应的Python版本匹配。

验证代码示例

代码示例

import sys
import platform

print(f"Python版本: {sys.version}")
print(f"Python路径: {sys.executable}")
print(f"操作系统: {platform.system()} {platform.release()}")
print(f"Linux发行版: {platform.freedesktop_os_release().get('NAME', 'Unknown')}")
print(f"架构: {platform.machine()}")

运行:

代码示例

python3 check_python.py

设置默认Python版本

当系统中安装了多个Python版本时,可以使用 update-alternatives 工具来管理默认版本。

添加Python版本到alternatives

代码示例

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/local/bin/python3.12 2

末尾的数字为优先级,数字越大优先级越高。

切换默认版本

代码示例

sudo update-alternatives --config python3

系统会显示可选的Python版本列表,输入对应编号即可切换。

设置python命令

如果希望 python 命令指向 python3

代码示例

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 1

或者创建软链接:

代码示例

sudo ln -s /usr/bin/python3 /usr/bin/python

⚠️ 注意:修改系统默认Python版本可能影响依赖Python的系统工具,请谨慎操作。


注意事项

  • 不要删除系统自带Python:Linux系统的许多工具(如yum、apt)依赖系统自带的Python,删除可能导致系统无法正常运行

  • 使用altinstall:从源码编译安装时,务必使用 make altinstall,避免覆盖系统Python

  • 虚拟环境:建议使用虚拟环境来管理项目依赖,避免污染系统Python环境

  • 权限管理:安装Python包时优先使用 --user 选项或虚拟环境,避免使用 sudo pip install

  • 编译时间:启用 --enable-optimizations 后编译时间较长(可能需要10-30分钟),这是正常现象

  • 依赖缺失:如果编译时报错,通常是缺少开发库,根据错误信息安装对应的 -dev-devel


小结

本教程介绍了在Linux系统上安装Python的两种方式:

方式 优点 缺点
包管理器安装 简单快捷,自动处理依赖 版本可能不是最新的
源码编译安装 可自定义版本和编译选项 过程较复杂,编译耗时

对于大多数用户,推荐使用包管理器安装。如果需要最新版本或特定编译选项,再考虑源码编译安装。安装完成后,使用 update-alternatives 可以方便地管理多个Python版本。


练习题

练习1

在你的Linux系统上安装Python 3,然后运行以下命令并记录输出:

代码示例

python3 --version
python3 -m pip --version
which python3
python3 -c "import sys; print(sys.path)"

练习2

尝试从源码编译安装一个Python版本,并使用 update-alternatives 配置多版本切换。完成后执行以下操作:
1. 列出系统中所有已安装的Python版本
2. 切换默认Python版本
3. 验证切换是否成功

提示:使用 update-alternatives --display python3 查看已注册的Python版本。


常见问题

Linux系统自带了Python,还需要重新安装吗?

Linux系统预装的Python版本可能较旧,无法满足最新项目需求。建议通过包管理器安装最新的Python 3版本,以获得新功能和安全更新。

源码编译安装时为什么要用altinstall而不是install?

make install会覆盖系统默认的python3命令,可能导致依赖系统Python的工具(如yum、apt)无法正常运行。make altinstall会将Python安装为python3.x格式,不会覆盖系统默认版本。

Ubuntu如何安装最新版本的Python?

可以通过添加Deadsnakes PPA仓库来获取最新的Python版本:sudo add-apt-repository ppa:deadsnakes/ppa,然后sudo apt install python3.12即可安装。

Linux上推荐使用pip还是python3 -m pip?

推荐使用python3 -m pip。这种方式可以确保pip与对应的Python版本完全匹配,避免在多Python环境下的版本混淆问题。

如何管理多个Python项目的依赖?

建议使用虚拟环境(venv)来管理每个项目的依赖。每个项目创建独立的虚拟环境,避免包之间的版本冲突,也不会污染系统Python环境。

小贴士

  • 启用--enable-optimizations进行PGO优化后,Python运行速度可提升约10-20%,但编译时间会显著增加(10-30分钟),建议在生产环境中使用。

  • 对于需要频繁切换Python版本的场景,可以考虑使用pyenv或conda等专业版本管理工具,比手动配置update-alternatives更加灵活。

  • 在服务器环境中,建议使用Docker容器来隔离Python运行环境,可以避免系统级别的依赖冲突,也便于部署和迁移。

标签: Python安装 Linux 源码编译 包管理器 多版本管理 Ubuntu

本文涉及AI创作

内容由AI创作,请仔细甄别

list快速访问

上一篇: Python安装 - macOS 下一篇: VSCode配置Python开发环境

poll相关推荐

作者头像 智能小晨 python

Python虚拟环境 - venv/virtualenv/conda环境管理

发布日期 2026-05-22
详细讲解Python虚拟环境搭建与管理,包括venv内置模块、virtualenv第三方工具、conda环境管理系统,掌握依赖隔离技巧,让项目环境规范高效。
作者头像 智能小晨 python

pip包管理器

发布日期 2026-05-22
全面介绍pip包管理器的使用方法,包括安装卸载升级包、查看已安装包、导出项目依赖、配置国内镜像源加速下载,附常用命令速查表和自动化脚本示例。
作者头像 智能小晨 python

PyCharm安装与配置教程 - Python IDE

发布日期 2026-05-22
详细介绍PyCharm安装与Python开发环境配置,包含社区版与专业版对比、Python解释器配置、虚拟环境创建、常用编辑器设置与快捷键,助你快速上手这款专业Python IDE。
作者头像 智能小晨 python

VSCode配置Python开发环境

发布日期 2026-05-22
详细讲解VSCode配置Python开发环境的完整流程,包含VSCode安装、Python扩展推荐、解释器配置、编辑器设置、launch.json调试配置,助你打造高效Python开发工具。