【Linux】python版本控制和环境管理
@
网上有很多教程都是教导小白去官方下载之后编译安装。但是,小白连cmake是什么都不知道,这种教导方式实在是误人子弟。这里作者介绍了一种十分简洁的更新方法。
1.查看目前python的版本
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
另外,python3.10比python3.9更新,因为10比9大。
4.警示:没必要设置默认版本
为什么我们在命令行输入python --version
就可以查看版本呢?这是因为在/usr/bin/
目录下存在名为python
的软链接
,软链接其实就是链接对象的快捷方式。
Ubuntu22.04的默认python版本是3.10,输入以下指令查看目前的软链接方式:
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/
目录下有两个软链接:python
和python3
。这两个软链接都指向了Ubuntu22.04默认的python3.10。
此外,我们也看到了我们刚刚安装的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.10的!
千万千万不要覆盖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软件包管理
最省心
sudo apt install python3-pip
这样做的话,以后pip默认安装的包是给python3.10的。当然,如果我们想要给我们自己的python3.9安装软件包的话,就需要多一点字数:
python3.9 -m pip install <name of package>
稍微麻烦
如果想要以后pip下载的包默认给我们自己的python3.9使用,需要:在pycharm这款IDE里面选择了之后,直接点击安装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
。当然也可以手动创建这个文件然后更改。
本文由博客一文多发平台 OpenWrite 发布!