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 进行开发,两者互不干扰。
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
Linux怎么使用nc命令测试端口 Linux网络探测工具nc详解
CentOS 7+ 中 nc 命令已弃用 -z 参数,执行 nc -zv 会报错或静默退出;应先通过 nc -h | head -1 确认版本(Ncat 或 GNU netcat),再改用 timeout 3 nc -w 3 host port 替代。 说起网络端口测试,nc 命令绝对是很多工程师工
Mac怎么清理Chrome占用内存 Mac加速浏览器运行速度方法【优化】
Mac上Chrome卡顿?这几招帮你彻底释放内存、加速浏览器 你的Mac版Chrome是不是也开始“闹脾气”了?页面滚动一顿一顿,切换标签慢半拍,再打开活动监视器一看,好家伙,Chrome Helper进程正“霸占”着海量内存不肯放手。这通常意味着浏览器没能妥善释放已加载的资源,后台进程滞留,或者缓
如何修复Windows系统蓝屏代码0x0000008e 解决内核参数异常错误
如何修复Windows系统蓝屏代码0x0000008e:解决内核参数异常错误 当Windows系统突然蓝屏,屏幕上赫然显示着错误代码0x0000008e,这通常意味着系统内核在处理某些异常时“卡壳”了。别慌,这背后最常见的原因无外乎驱动冲突、内存接触不良、特定系统补丁的缺陷,或是硬件兼容性问题。好消
Win10更新后打印机不能用怎么办?Windows10关闭更新并重装驱动
先禁用Windows Update防止补丁干扰,再卸载驱动并清空spool文件夹,接着离线安装匹配Win10版本的官方驱动,最后将Print Spooler设为自动启动并取消脱机、设为默认。 Windows 10更新后打印机罢工,这事儿确实让人头疼。如果你的打印机突然“装聋作哑”,点击打印没反应,或
Mac怎么删除外文输入法 Mac移除自带输入法方法【技巧】
可移除外文输入法:一、系统设置中删除输入源;二、活动监视器终止相关进程;三、终端命令重置HIToolbox配置;四、删除 Library Input Methods 残留组件;五、清理~ Library Input Methods 用户数据。 你的Mac输入源列表里是不是也塞满了各种外文输入法?像A
- 日榜
- 周榜
- 月榜
1
2
3
4
5
6
7
8
9
10
相关攻略
2015-03-10 11:25
2015-03-10 11:05
2021-08-04 13:30
2015-03-10 11:22
2015-03-10 12:39
2022-05-16 18:57
2025-05-23 13:43
2025-05-23 14:01
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程
热门话题

