当前位置:

首页 > 编程开发 > Linux 下 Python 安装有几种方法

Linux 下 Python 安装有几种方法

Linux上安装Python有四种主流方式:系统包管理器最稳定但版本偏旧;源码编译可定制版本与优化但需安装编译依赖;pyenv便于多版本切换管理;容器或自动化脚本实现环境隔离与可复现。注意切勿覆盖系统自带的/usr/bin/python,编译安装务必使用makealtinstall。

在 Linux 上安装 Python,这事儿说简单也简单,说复杂也有不少门道。很多新手上来就跟着网上教程一通操作,结果把系统默认的 Python 搞乱了,导致 yum、dnf 这些工具罢工,回头还得折腾半天。所以,在动手之前,先搞清楚不同安装方式的适用场景和潜在坑点,其实比盲目执行命令更重要。

目前主流的安装方式有四种,从“省心省力”到“高度可控”,按场景和风险大致可以排个序:

方式适用场景核心优点主要风险或注意
系统包管理器安装追求稳定、快速,满足日常开发与运维安装简单、依赖自动处理、与系统兼容性好仓库版本可能偏旧;避免替换系统自带的 /usr/bin/python
从源码编译安装需要特定版本、开启优化或自定义编译选项版本可控、可启用 –enable-optimizations、可指定安装前缀需先安装编译依赖;操作不当可能影响系统工具链
使用 pyenv 管理多版本同时维护多个项目、需要在 3.x 间快速切换多版本并存、按项目/目录切换、隔离方便初次配置略繁琐;仍需处理编译依赖
使用容器或自动化脚本环境隔离、CI/CD、快速复现环境一致性强、可移植、回滚方便需掌握 Docker 等工具;非本机直装,调试路径不同

方式一:系统包管理器安装 — 最稳妥的“开箱即用”

如果你只是想快速搭建一个可用的 Python 环境,而且不介意用稍旧一点的版本(比如系统仓库里的是 3.9 或 3.10,而不是最新的 3.13),那直接用包管理器准没错。它最大的好处是依赖自动搞定,而且和系统里其他工具兼容性最好。

  • Debian/Ubuntu 系:
    更新索引并安装:sudo apt update && sudo apt install python3 python3-pip
    验证:python3 --version、pip3 --version
  • RHEL/CentOS/Fedora 系:
    安装:sudo yum install python3(或 sudo dnf install python3),pip 可额外安装 sudo yum install python3-pip(或 dnf)
    验证:同上

要点:这是维护成本最低的方式。如果觉得版本不够新,可以再考虑后面两种方式,但千万别手痒去覆盖系统自带的 /usr/bin/python,那是很多系统工具的生命线。

方式二:从源码编译安装 — 版本控的“自己动手”

当你想用某个特定版本,或者需要开启性能优化(比如 --enable-optimizations),又或者想自定义安装路径,那就只能从源码编译了。这个过程不算复杂,但准备工作要做足。

  • 安装编译依赖(以 Debian/Ubuntu 为例):
    sudo apt install build-essential libssl-dev libffi-dev python3-dev libbz2-dev libsqlite3-dev libreadline-dev libncursesw5-dev tk-dev libgdbm-dev liblzma-dev zlib1g-dev
    —— 这一长串包名看着吓人,但缺一个都可能编译失败,建议直接复制粘贴。
  • 下载与解压:
    wget https://www.python.org/ftp/python/3.x.x/Python-3.x.x.tgz 然后 tar -xf Python-3.x.x.tgz 并进入目录。
  • 配置与编译:
    ./configure --enable-optimizations --prefix=/usr/local/python3.x 加 make -j $(nproc)
    —— --enable-optimizations 会做一些 profile-guided 优化,能让 Python 跑得更快,但编译时间会长一些。
  • 安装:
    sudo make altinstall
    —— 注意,这里用的是 altinstall 而不是 install,就是为了避免覆盖系统自带的 python 命令。这是关键细节。
  • 使用:
    编译好的 Python 在 /usr/local/python3.x/bin/ 下,可以手动加入 PATH,或者创建软链接到 /usr/local/bin(但要小心别和系统默认的 python 冲突)。

方式三:使用 pyenv 管理多个版本 — 多版本切换的“神器”

如果你同时维护好几个项目,有的要求 Python 3.8,有的要用 3.11,还有的正在尝鲜 3.13,那 pyenv 绝对是首选。它能在用户层面实现多版本并存,按项目目录或全局切换,互不干扰。

  • 安装依赖(和编译安装类似,但更全):
    sudo apt install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl git
  • 安装 pyenv 本身:
    curl https://pyenv.run | bash
    —— 这条命令会安装 pyenv 以及它的插件(pyenv-virtualenv 等),非常方便。
  • 配置环境变量:
    在 ~/.bashrc 或 ~/.zshrc 里加入:
    export PYENV_ROOT="$HOME/.pyenv"
    export PATH="$PYENV_ROOT/bin:$PATH"
    eval "$(pyenv init --path)"
    然后 source ~/.bashrc 让其生效。
  • 常用命令:
    pyenv install --list 列出所有可安装版本;
    pyenv install 3.11.5 安装指定版本;
    pyenv global 3.11.5 设置全局默认版本,pyenv local 3.8.10 则只影响当前目录。

初次配置确实有点繁琐,但只要配好一次,后面切换版本就和喝水一样自然。

方式四:使用容器或自动化脚本 — 终极隔离与可复现

在团队协作、CI/CD 流水线、或者需要快速复现一个特定环境时,Docker 容器是最佳选择。它把整个 Python 环境连同依赖打包在一起,换个机器也能一模一样地跑起来。

  • 容器化方式(Docker):
    docker run --rm -it python:3.11 bash
    —— 这条命令会拉取官方 Python 3.11 镜像,然后进入交互式 shell。你可以在里面自由安装依赖,退出后容器自动销毁,不留痕迹。
  • 自动化脚本:
    如果想批量部署,可以写一个脚本来自动安装 pyenv 并预设版本,或者直接用 pyenv 的自动化安装脚本(pyenv-installer)。组织内也可以自研脚本,统一依赖和版本,方便回滚。

通用验证与注意事项

不管用哪种方式装完,最好都验证一下:

  • 版本:python3 --version(或 python --version,看你怎么配置的)
  • 包管理:pip3 --version,如果缺失,可以用 sudo apt install python3-pip 或 get-pip.py 安装。
  • 虚拟环境:python3 -m venv .venv 然后 source .venv/bin/activate,再 which python 确认路径指向了虚拟环境。

最后,再强调三个关键点——这些是很多新手踩过的坑:

  • 不要动系统自带的 /usr/bin/python。很多系统工具(yum、dnf、甚至一些桌面环境)都依赖它。如果想自定义默认命令,请用 /usr/local/bin 下的软链接,并且明确调用 python3.x 或 pip3.x。
  • 编译安装时务必用 make altinstall,否则会覆盖系统的 python 二进制,后果自负。
  • 多版本管理首选 pyenv,它比手动折腾 PATH 和软链接要安全得多,也方便得多。
本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
作者最新文章
编程开发 Linux
相关文章 更多
linux删除用户与用户组的方法及命令教程
linux删除用户与用户组的方法及命令教程

掌握Linux中删除用户和用户组的正确方法,避免残留文件和进程冲突。本文深入解析userdel和groupdel命令的参数用法,提供处理“用户仍在使用”等常见错误的实战方案。

Linux如何开启端口号?开放端口命令详解
Linux如何开启端口号?开放端口命令详解

详细讲解Linux如何开启端口号以及常用的开放端口命令。

crossover卸载软件下载及重新安装教程
crossover卸载软件下载及重新安装教程

遇到CrossOver运行错误或需要更新版本时,如何彻底卸载旧版并干净重装?本教程详解macOS和Linux下的卸载步骤、残留文件清理方法及官方下载渠道,确保软件环境纯净稳定。

查看更多
精品专题 更多
装机必备
装机必备

正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

Windows
Windows

正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

PDF教程
PDF教程

正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

Mac软件 更多
IntelliJ IDEA macOS版
IntelliJ IDEA macOS版
Mac

IntelliJ IDEA 是 JetBrains 推出的专业集成开发环境,重点服务于 Java、Kotlin 与 JVM 项目开发。软件集成代码补全、静态检查、重构、调试、测试、版本控制及构建工具,并可借助插件扩展语言和框架支持。

PyCharm macOS版
PyCharm macOS版
Mac

JetBrains PyCharm 是面向 Python 开发者的集成开发环境,提供智能补全、代码检查、重构、调试、测试、版本控制及虚拟环境管理功能。Mac 版兼容 Intel 与 Apple 芯片,核心功能可免费使用。

WebStorm macOS版
WebStorm macOS版
Mac

JetBrains WebStorm 是面向 JavaScript、TypeScript 和现代 Web 技术的专业集成开发环境,可智能理解项目结构,提供代码补全、重构、错误检查、运行调试、测试及 Git 工具。

WINDOWS 更多
IntelliJ IDEA Windows版
IntelliJ IDEA Windows版
Windows

JetBrains IntelliJ IDEA 是以 Java、Kotlin 和 JVM 项目为核心的专业集成开发环境,提供智能补全、代码检查、安全重构、调试、测试、版本控制及构建工具集成。统一发行版的核心功能可免费用于商业和非商业项目,

PhpStorm Windows版
PhpStorm Windows版
Windows

PhpStorm 是 JetBrains 面向 PHP 与现代 Web 开发打造的专业集成开发环境,提供代码补全、静态检查、重构、调试、测试、数据库、版本控制及前端语言支持。Windows 用户可直接下载安装程序,

PyCharm Windows版
PyCharm Windows版
Windows

PyCharm 是 JetBrains 推出的 Python 集成开发环境,提供智能代码补全、错误检查、重构、调试、测试、Git、终端及 Jupyter Notebook 支持。统一版安装后可体验 30 天 Pro 功能,