Ubuntu 20.04安装Python3.10步骤 多个版本切换的方法【教程】
Ubuntu 20.04 上安装 Python 3.10 并实现多版本共存与切换

免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈
在 Ubuntu 20.04 上,系统默认的 Python 3 版本是 3.8。如果你因为项目依赖或开发需求,必须使用 Python 3.10,同时又不想破坏系统原有的 Python 环境,该怎么办?
答案是:通过社区维护的第三方软件源安全安装,再利用系统自带的版本管理工具实现灵活切换。下面,我们就来拆解这个完整且安全的操作流程。
一、添加 deadsnakes PPA 并安装 Python 3.10
首先,我们需要一个可靠的新版本 Python 来源。deadsnakes PPA 是 Ubuntu 社区中广受信赖的第三方软件仓库,专门提供较新版本的 Python 稳定发行版。通过它安装,比从源码编译要快捷、省心得多。
1. 更新系统软件包列表,并安装添加 PPA 所需的工具:
sudo apt update
sudo apt install -y software-properties-common
2. 添加 deadsnakes PPA 到你的软件源列表:
sudo add-apt-repository -y ppa:deadsnakes/ppa
3. 再次更新软件源,并安装 Python 3.10 及其核心组件:
sudo apt update
sudo apt install -y python3.10 python3.10-venv python3.10-distutils
4. 安装完成后,立刻验证一下:
python3.10 --version
如果终端清晰地返回了“Python 3.10.x”,那么恭喜你,第一步已经成功了。
二、通过 update-alternatives 注册并管理多个 Python 3 版本
现在,系统里同时存在 Python 3.8 和 3.10。如何优雅地管理它们,而不是简单粗暴地覆盖默认链接?这里就要请出 Debian/Ubuntu 系统的“幕后管家”——update-alternatives。它能帮你把多个版本注册到一个统一的命令下,并通过交互菜单轻松切换,完全不会触及系统核心文件。
1. 首先,确认一下系统中已有的 Python 3 可执行文件位置:
ls -l /usr/bin/python3*
2. 将系统自带的 Python 3.8 注册为备选方案(这里将优先级设为1):
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1
3. 再将我们新安装的 Python 3.10 也注册进去(优先级设为2,数字越大优先级越高):
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 2
4. 关键的一步来了:启动交互式配置菜单。
sudo update-alternatives --config python3
5. 这时,终端会列出所有已注册的版本,每个版本前有一个编号。你只需要输入想设为默认的版本编号,然后按下回车,系统就会立即将 python3 这个命令指向你选择的版本。整个过程是不是非常清晰?
三、手动配置软链接(备用方案)
当然,如果你所处的环境无法使用 update-alternatives,或者你更喜欢直接控制,手动创建软链接也是一个备选方案。不过,这个方法需要你自行维护链接的一致性。
1. 首先,移除现有的 python3 软链接(如果存在的话):
sudo rm /usr/bin/python3
2. 然后,创建一个指向 Python 3.10 的新链接:
sudo ln -s /usr/bin/python3.10 /usr/bin/python3
3. 创建完成后,务必验证一下:
ls -l /usr/bin/python3
python3 --version
4. 如果需要切换回 Python 3.8,只需重复步骤1和2,将链接目标改为 /usr/bin/python3.8 即可。
四、修复 pip 并确保其与所选 Python 版本匹配
安装新 Python 版本后,一个常见的坑是包管理工具 pip 没跟上。你可能会发现 pip3.10 命令不存在,或者 pip 安装的包跑错了 Python 环境。
1. 先检查一下 Python 3.10 对应的 pip 是否可用:
pip3.10 --version
2. 如果提示命令未找到,别担心,我们可以手动安装:
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3.10 get-pip.py
3. 安装后,验证 pip 是否与当前默认的 python3 版本绑定:
python3 -m pip --version
4. 这里有一个至关重要的安全实践:尽量避免直接使用 sudo pip install。取而代之的是,始终使用 python3 -m pip install 这个格式。这样可以百分百确保第三方库被安装到当前激活的 Python 环境里,避免权限和路径混乱。
五、配置 sudo 环境变量以支持多版本调用
最后一个容易踩坑的地方在于 sudo 命令。出于安全考虑,sudo 默认会重置用户的环境变量(如 PATH)。这可能导致你在使用 sudo 执行 python3.10 或 pip3.10 时,收到“命令未找到”的错误。
1. 要解决这个问题,需要编辑 sudo 的配置文件:
sudo visudo
2. 在文件的末尾,添加下面两行配置:
Defaults env_keep += "PATH"
Defaults env_keep += "LD_LIBRARY_PATH"
3. 保存并退出后,sudo 就会继承你的用户环境变量了。现在,你可以顺畅地执行:
sudo python3.10 -c "print('OK')"
sudo python3.10 -m pip install virtualenv
至此,你已经在 Ubuntu 20.04 上成功搭建了一个安全、灵活的多版本 Python 开发环境。系统自带的 3.8 版本完好无损,而你也能随心所欲地使用 3.10 进行开发,两者互不干扰。
相关攻略
Ubuntu 20 04 上安装 Python 3 10 并实现多版本共存与切换 在 Ubuntu 20 04 上,系统默认的 Python 3 版本是 3 8。如果你因为项目依赖或开发需求,必须使用 Python 3 10,同时又不想破坏系统原有的 Python 环境,该怎么办? 答案是:通过社区
在Ubuntu系统中,保护数据安全有多种途径,其中文件系统加密是相当可靠的一环。无论是想加密整个磁盘、某个分区,还是仅仅保护某个敏感文件夹,都有对应的成熟方案可供选择。下面就来梳理几种常用的加密技巧,你可以根据实际的安全需求灵活选择。 使用dm-crypt LUKS加密磁盘或分区 对于整块磁盘或独立
在Ubuntu系统上使用SecureCRT进行加密数据传输 在远程管理Ubuntu服务器时,数据安全是首要考虑的问题。SecureCRT通过SSH(Secure Shell)协议,在客户端与服务器之间构建了一条加密隧道,确保传输过程中的命令、文件乃至每一次击键都不会被窃听或篡改。下面,我们就来梳理一
检测Ubuntu系统中的Exploit漏洞:一份实战指南 面对潜在的安全威胁,主动出击远比被动响应有效。如何系统性地检测Ubuntu系统中的Exploit漏洞?关键在于构建一个多层次、常态化的防御与检测体系。下面这份融合了工具、策略与最佳实践的指南,或许能为你提供清晰的路线图。 安全更新和补丁管理
防范Ubuntu系统被Exploit攻击,可以采取以下措施 话说回来,安全从来不是一劳永逸的事,而是一个持续加固的过程。对于Ubuntu系统而言,一套组合拳式的防御策略,往往比单一手段更有效。下面这十个关键步骤,可以说是构建系统安全防线的基石。 1 保持系统和软件更新 定期更新:这几乎是安全领域的
热门专题
热门推荐
Llama中文社区是什么 提起近年来火热的大语言模型,Meta的Llama系列无疑是开源领域的明星。但一个绕不开的问题是:如何让这些“国际范儿”的模型,更好地理解和使用中文?这恰恰是Llama中文社区诞生的初衷。简单来说,它是由LlamaFamily打造的一个高级技术社区,核心目标非常聚焦:致力于对
Tech Talent AI Sourcing是什么 简单来说,Tech Talent AI Sourcing 是摆在技术招聘领域的一个“效率翻跟斗”。由TalentSight开发的这款AI招聘工具,核心目标很明确:帮助招聘团队,尤其是那些在IT人才红海里“淘金”的团队,更快、更准地锁定对的人。它的
在CentOS系统上防止SFTP被攻击的配置与加固指南 对于依赖SFTP进行文件传输的CentOS服务器而言,安全配置绝非小事。攻击者一旦找到入口,数据泄露和系统失陷的风险便会急剧上升。别担心,通过一系列系统性的配置和加固措施,我们可以为SFTP服务构筑起坚实的防线。下面这份实操指南,将带你一步步完
在Linux里记事本软件如何进行文件加密 很多刚接触Linux的朋友可能会发现,系统自带的记事本类软件(比如gedit)并没有一个直接的“加密”按钮。这其实很正常,因为Linux的设计哲学更倾向于“一个工具做好一件事”。不过别担心,虽然记事本本身不内置加密,但我们可以借助几个强大且成熟的外部工具,轻
Debian分区加密全攻略:LUKS与LVM两种方案深度解析 在数据安全日益重要的今天,为Debian系统分区实施加密已成为系统管理员和资深用户的必备技能。本文将详细对比两种主流的Debian分区加密方法,帮助您根据实际需求选择最佳方案。下图直观展示了两种方案的核心流程与关系: 接下来,我们将深入剖





