关于Ubuntu有多个Python版本的解决方案
执行:which 软件名
,会输出软件路径:可以看我我这有好几个python版本。
1 | yu@librity:~$ which python |
现在看下这些文件的具体信息:cd /usr/bin
ls -l | grep python
1 | yu@librity:~$ cd /usr/bin |
-> 这个标记的意思就是软连接的意思。可以看到上面的都设置了软连接,python指向了/etc/alternatives/python文件。
注意:我在这里曾经栽了很大的跟头,我在执行python的时候报错:
1 | yu@librity:python |
报了一堆什么 Could not find 的问题。然后我又无意间执行了这个代码
update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
1 | yu@librity:~$ update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1 |
明确告诉我我的python软连接损坏了。然后我执行ls -l | grep python 后发现python没有指向任何文件,果然损坏了。
所以解决办法就是我给他添加一个软连接:
1 | sudo ln -sf /usr/bin/python2.7 /usr/bin/python |
所有的问题都解决了,现在就可以手动切换我们的python版本了:
- 执行:查看所有的可以替代的版本,你没配置过肯定没任何输出。
1 | update-alternatives --list python |
- 添加替代信息
1
2update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
update-alternatives --install /usr/bin/python python /usr/bin/python3.6 2 - 在查看下:
1 | yu@librity:/usr/bin$ update-alternatives --list python |
- 随意替换顺序输入你要最有优先的序号,比如这里我输入0。那么我在控制台输入python得到的版本将是python3.10的。
1
2
3
4
5
6
7
8
9
10
11root@librity:/home/yu# update-alternatives --config python
有 3 个候选项可用于替换 python (提供 /usr/bin/python)。
选择 路径 优先级 状态
------------------------------------------------------------
* 0 /usr/bin/python3.10 2 自动模式
1 /usr/bin/python2.7 1 手动模式
2 /usr/bin/python3 2 手动模式
3 /usr/bin/python3.10 2 手动模式
要维持当前值[*]请按<回车键>,或者键入选择的编号:0
全部完成!
博客