【Linux】python版本控制

发布时间:2024年01月21日


网上有很多教程都是教导小白去官方下载之后编译安装。但是,小白连cmake是什么都不知道,这种教导方式实在是误人子弟。这里作者介绍了一种十分简洁的更新方法。

1.查看目前python的版本

han@han-ASUS-TUF-Gaming-F15-FX507ZR:~$ python --version
Python 3.9.18

2.添加软件源并更新

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update

这两个指令可以赋予我们下载更高版本python的能力

3.选择你想要下载的版本

譬如,我想要下载python3.9:

sudo apt install python3.9

4.警示:没必要设置默认版本

为什么我们在命令行输入python --version就可以查看版本呢?这是因为在/usr/bin/目录下存在名为python软链接,软链接其实就是链接对象的快捷方式。Ubuntu22.04的默认python版本是3.1,我们可以输入以下指令查看目前的软链接方式:

han@han-ASUS-TUF-Gaming-F15-FX507ZR:~$ ls -l /usr/bin/python*
lrwxrwxrwx 1 root root      18  1月 20 14:52 /usr/bin/python -> python3.10
lrwxrwxrwx 1 root root      10  8月 18  2022 /usr/bin/python3 -> python3.10
-rwxr-xr-x 1 root root 5904904 11月 20 23:14 /usr/bin/python3.10
-rwxr-xr-x 1 root root 5294896  8月 25 21:20 /usr/bin/python3.9

可以看到,目前在/usr/bin/目录下有两个软链接:pythonpython3。这两个软链接都指向了Ubuntu22.04默认的python3.1。此外,我们也看到了我们刚刚安装的python3.9。

误区

网上有些错误的教程指示我们重建软链接,把它指向python3.9,这是不正确的。如下面这行指令:

sudo ln -snf /usr/bin/python3.9 /usr/bin/python

稍微解释一下:-snf表示修改软链接,第一个参数是源文件,第二个参数是生成的快捷方式的位置

这样做,确实可以使终端中的默认的python版本改为python3.9:

han@han-ASUS-TUF-Gaming-F15-FX507ZR:~$ python --version
Python 3.9.18

但是,如果你后续使用sudo apt install python3-pip这种方式安装了pip,以后pip下载的包还是给python3.1的!

千万千万不要覆盖python3软链接

如果你把指令错误输入成

sudo ln -snf /usr/bin/python3.9 /usr/bin/python3

由于你覆盖了python3这个软链接的目标python3.10,而你的系统有很多是基于python3.10的,你的终端就打不开了!!!

解决办法

如果你有IDE的话,还可以打开IDE的终端,然后恢复python3软链接的目标:

sudo ln -snf /usr/bin/python3.10 /usr/bin/python3

在这里插入图片描述

5.安装pip

装好python3.9之后,pip不会附带安装,需要自己安装。

如果使用sudo apt install python3-pip这种方式安装pip,以后pip下载的包还是给python3.1的!

建议:在pycharm这款IDE里面选择了你想要的解释器之后,直接点击就可以为你想要的python版本安装pip,如下图:

在这里插入图片描述

然后在终端中查看pip版本,可以看到绑定了我们想要的python版本,这样以后pip安装的包也属于python3.9了:

han@han-ASUS-TUF-Gaming-F15-FX507ZR:~$ pip --version
pip 20.3.4 from /usr/local/lib/python3.9/dist-packages/pip (python 3.9)

换源

切换pip下载源为国内源,提高下载速度:

han@han-ASUS-TUF-Gaming-F15-FX507ZR:~$ pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
Writing to /home/han/.config/pip/pip.conf

显示自动写入了路径/home/han/.config/pip/pip.conf

6.环境管理

python3.9的所有软件包都位于/usr/local/lib/python3.9/dist-packages/,另外还有/usr/local/lib/python3.10,这个就是系统自带的,里面是空的。以后我们pip下载的软件包都是python3.9的。

文章来源:https://blog.csdn.net/qq_50791664/article/details/135716529
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。