一、背景
Ubuntu18.04电脑,安装有python2.7和python3.6.9两个python版本,目前像安装另一款软件,依赖要求是python>=3.7,但又不想删除python3.6.9,因为此版本安装有其他软件库,因此需要安装python3.7,并知道如何管理切换python版本。
二、安装python
1、查看当前生效的python3版本
python3 --version
Python 3.6.9
2、添加deadsnakes ppa源,下载python3.7。出现网络错误的话,多安装几次
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt-get install python3.7
三、安装对应版本的pip
1、先查看当前pip3版本
pip3 -V
pip 21.3.1 from /home/user/.local/lib/python3.6/site-packages/pip (python 3.6)
2、安装指定pip版本
# 获取安装脚本,若无curl 需要先 sudo apt install curl
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
# 安装对应版本 pip
python3.7 get-pip.py #这一条语句因为网络问题,执行了很多次
3、添加路径
通过get-pip.py安装的pip默认会放到/home/${USER}/.local/bin 目录下。
查看PATH 是否包含了这个目录,若无则需要添加到系统路径。
echo $PATH #查看系统路径
# 添加~/.local/bin 到系统路径
#发现profile文件里面已经有/home/${USER}/.local/bin路径
$ sudo gedit .profile
$ source .profile
四、update-alternatives 切换python3 环境
通过系统工具update-alternatives 可以配置和切换当前系统中的python3 环境做到多版本管理。
刚开始输入以下命令,输出结果是因为没有将python导入到update-alternatives
update-alternatives --list python
update-alternatives: 错误: 无 python 的候选项
1、导入python到update-alternatives
# 将本地下载好的python3 版本导入update-alternatives
# 默认优先级高的会被设置为自动模式
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 0
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.7 2
2、查看python版本
# 查看当前环境中已有的python3 版本
$ sudo update-alternatives --list python3
/usr/bin/python3.6
/usr/bin/python3.7
3、 切换想要使用的python3 版本
# 切换想要使用的python3 版本
sudo update-alternatives --config python3
有 2 个候选项可用于替换 python3 (提供 /usr/bin/python3)。
选择 路径 优先级 状态
------------------------------------------------------------
* 0 /usr/bin/python3.7 2 自动模式
1 /usr/bin/python3.6 0 手动模式
2 /usr/bin/python3.7 2 手动模式
要维持当前值[*]请按<回车键>,或者键入选择的编号:0
4、测试
此时输入python3,则终端上已经切换到python3.7.16