Ubuntu系统如何安装Python
Ubuntu 安装 Python 的实用指南

免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈
在 Ubuntu 上安装 Python,听起来简单,但选对方法、用对版本,能让后续的开发工作事半功倍。这份指南将帮你理清思路,找到最适合你的那条路。
一 安装前准备与版本选择
先说一个基本原则:请直接选择 Python 3.x。Python 2 的时代早已在2020年正式落幕,新项目无需再考虑它。
那么,具体版本该怎么选?这得看你的“战场”在哪里:
- 通用开发或全新项目:优先考虑最新的稳定版,比如 3.12.x。它在语法和性能上通常有优化,不过,上手前最好确认一下你的核心依赖库是否已经跟上了新版本的步伐。
- 科学计算与数据分析:3.9 到 3.11 版本是当下的“甜点区”。像 NumPy、Pandas 这类主流库对它们的支持已经非常成熟稳定,生态完善,踩坑的几率最小。
- 机器学习与深度学习:这里需要稍微保守一点,3.8 到 3.11 是更安全的选择。原因很简单,TensorFlow、PyTorch 等重型框架对新版本的支持往往会有延迟,务必先查阅官方的兼容性矩阵再做决定。
- Web 开发:选择就宽泛多了,Django、Flask、FastAPI 等主流框架对 3.8 及以上的版本都支持良好。
当然,你的 Ubuntu 系统本身也提供了一个基线参考:20.04 LTS 默认搭载 Python 3.8,而 22.04 LTS 则默认是 3.10。如果系统自带的版本不符合要求,也别担心,我们后面会介绍如何轻松安装其他版本。
记住核心原则:以项目需求为最高纲领。必要时,锁定具体的小版本号,并善用虚拟环境进行隔离,这是保持系统整洁、项目稳定的不二法门。
二 方法一 使用 APT 快速安装(推荐)
对于大多数用户和服务器环境,最省心的方法莫过于直接使用系统自带的 APT 包管理器。它自动处理所有依赖,一步到位。
操作起来非常简单:
- 首先,更新一下软件包索引:
sudo apt update - 然后,安装 Python 3 和 pip 包管理工具:
sudo apt install python3 python3-pip
安装完成后,别忘了验证一下:
- 运行
python3 --version查看 Python 版本。 - 运行
pip3 --version查看 pip 版本。
如果需要系统仓库里提供的某个特定小版本(比如 3.10),也可以直接安装:sudo apt install python3.10。这依然是 APT 的舒适区,管理起来非常方便。
三 方法二 使用 deadsnakes PPA 安装更多版本
如果你的系统仓库版本比较旧,但又想安装像 3.11、3.12 这样的较新版本,那么 deadsnakes PPA 个人软件包存档就是你的得力助手。
只需依次执行以下命令:
sudo apt updatesudo apt install software-properties-commonsudo add-apt-repository ppa:deadsnakes/ppasudo apt updatesudo apt install python3.12 python3.12-venv python3.12-distutils(以安装 3.12 为例)
安装后,用 python3.12 --version 验证即可。这里有个小提示:安装时记得带上对应的 -venv 和 -distutils 包,这样后续使用虚拟环境和 pip 时会更加顺畅。
四 方法三 源码编译安装(可定制与获取最新版本)
当你需要最新的开发中版本,或者希望对 Python 的编译选项进行深度定制时,从源码编译安装是终极解决方案。过程稍显复杂,但自由度最高。
首先,需要安装一大堆编译依赖:
sudo apt update
sudo apt install -y build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev libffi-dev libncurses5-dev libncursesw5-dev xz-utils tk-dev wget curl llvm liblzma-dev
然后,进入经典的“下载-解压-配置-编译”流程(以版本 3.x.y 为例):
- 下载源码包:
wget https://www.python.org/ftp/python/3.x.y/Python-3.x.y.tgz - 解压:
tar -xvzf Python-3.x.y.tgz - 进入目录:
cd Python-3.x.y - 配置编译选项(推荐启用优化):
./configure --enable-optimizations - 开始编译(
-j参数利用多核加速):make -j $(nproc) - 安装(关键一步):
sudo make altinstall
请注意,最后一步使用 altinstall 而不是普通的 install,可以防止覆盖系统默认的 python3 二进制文件,避免引发不必要的麻烦。完成后,使用 python3.x --version 来验证你的定制版 Python 吧。
五 方法四 使用 Pyenv 管理多版本
如果你是一名开发者,经常需要在不同项目间切换不同的 Python 版本,那么 Pyenv 这款工具绝对值得投入时间学习。它能让你在同一台机器上优雅地并行管理多个 Python 版本。
安装前,同样需要确保系统已安装上文提到的“构建依赖”。
安装 Pyenv 本身非常简单,一条命令即可:
curl https://pyenv.run | bash
安装完成后,需要将以下内容添加到你的 Shell 配置文件(如 ~/.bashrc 或 ~/.zshrc)末尾,并执行 source ~/.bashrc 使其生效:
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv virtualenv-init -)"
之后,你就可以轻松玩转多版本了:
- 查看所有可安装版本:
pyenv install --list - 安装指定版本(如 3.12.7):
pyenv install 3.12.7 - 设置全局默认版本或为特定项目目录设置本地版本:
pyenv global 3.12.7或pyenv local 3.12.7
有了 Pyenv,版本切换变得轻而易举,再也不用担心环境冲突了。
六 验证安装与环境隔离
无论采用哪种方式安装,最后一步都是验证。根据你的安装方式,使用 python3 --version、python3.12 --version 或 pyenv version 来确认版本是否正确。
安装 Python 只是第一步,对于任何实际项目,创建独立的虚拟环境是至关重要的好习惯。这能确保每个项目的依赖库互不干扰。
使用标准库中的 venv 模块创建环境(以已安装的 3.12 为例):
- 创建环境目录:
python3.12 -m venv .venv - 激活环境:
source .venv/bin/activate(激活后,命令行提示符通常会变化) - 升级环境内的 pip:
python -m pip install --upgrade pip
工作完成后,输入 deactivate 即可退出虚拟环境。
强烈建议:为每一个项目单独创建虚拟环境。对于复杂的依赖,可以使用 pip freeze > requirements.txt 命令将当前环境的依赖列表固化下来,方便在其他地方一键复现。
相关攻略
在Ubuntu上构筑安全防线:防火墙配置与入侵检测实战指南 为Ubuntu服务器或工作站部署一套坚实的安全屏障,是每个系统管理员的基础功课。今天,我们就来深入聊聊如何利用系统自带的工具,一步步配置防火墙,并引入更强大的入侵检测系统。整个过程其实并不复杂,关键在于理解每个步骤背后的逻辑。 使用UFW配
Ubuntu漏洞利用深度解析:从基础到实战的完整方法论 对Ubuntu操作系统中的安全漏洞进行系统性分析,是一项需要融合Linux内核原理、网络协议栈与安全攻防技术的专业工作。尽管流程复杂,但通过建立标准化的分析框架,可以高效完成从漏洞识别到验证的全过程。本指南将为你提供一套结构清晰、可操作性强的实
关于Ubuntu exploit漏洞的修补,你需要知道这些 面对层出不穷的系统漏洞,修补工作绝不能掉以轻心。今天,我们就来深入聊聊几个影响广泛的Ubuntu exploit漏洞,以及一套行之有效的修补与加固策略。记住,安全从来不是一劳永逸,而是一个持续的过程。 漏洞信息:认识你的对手 知己知彼,百战
Ubuntu系统典型安全漏洞盘点与修复 在开源操作系统的安全领域,没有任何系统能够宣称绝对安全,Ubuntu Linux也不例外。通过回顾其历史上已被发现并修复的关键安全漏洞,我们可以汲取重要的安全经验与防范启示。以下将详细盘点几个具有代表性的Ubuntu安全漏洞案例及其解决方案。 Dirty Co
Ubuntu防火墙能阻止哪些攻击? 说到系统安全,防火墙无疑是第一道防线。对于Ubuntu用户而言,通过其内置的UFW(Uncomplicated Firewall)工具,我们能构筑起一道相当坚实的屏障。那么,这道屏障具体能帮我们抵御哪些常见的攻击和威胁呢?下面就来详细拆解一下。 1 阻止特定IP
热门专题
热门推荐
SQL关联查询中处理重复记录的清理_使用JOIN关联进行排查 在数据库查询实践中,当使用LEFT JOIN后出现记录数异常增加的情况,许多开发者会下意识地采用DISTINCT关键字进行去重。然而,我们必须首先理解其核心机制:LEFT JOIN导致记录数增多,本质上是由于左表的一条记录能够匹配右表的多
MySQL主从复制中断后如何修复_重新构建从库的详细步骤 主从复制中断后怎么快速判断是临时延迟还是已断开 遇到主从同步卡住,先别急着动手重建。很多时候,所谓的“中断”只是暂时的延迟,表现为 Seconds_Behind_Master 持续显示为 NULL 或者数值飙升,但 IO 线程其实还在正常工作
查看狗狗币价格的主流App推荐 想盯紧狗狗币(Dogecoin)的实时价格?这事儿说简单也简单,说讲究也讲究。关键在于,你得找到一款数据准、更新快、用着顺手的工具。下面这几款主流加密货币App,可以说是市场上的“硬通货”,它们提供的行情信息和图表工具,足以让你把狗狗币的脉搏摸得清清楚楚。 1 币安
如何用SQL检测用户活跃周期:结合窗口函数计算间隔 用 LAG() 算上一次登录时间,再减出间隔 想搞清楚用户活跃的连续性,第一步就是计算每次登录之间的时间间隔。这里有个高效且直观的思路:把用户每次登录按时间排好队,然后“回头看”一下上一次是什么时候,两个时间点一减,间隔就出来了。实现这个“回头看”
MySQL查询优化:为什么你应该告别SELECT * 在数据库查询中,SELECT * 看似方便,但在处理大表时,它往往是性能的隐形杀手。根本原因在于,即便你只需要一列数据,MySQL也必须将整行数据从磁盘或缓冲池中完整读取出来。当表中字段众多,特别是包含TEXT、BLOB这类大对象或长VARCHA





