修改linux下python的默认版本

linux下python版本默认为python2.7,下面将通过操作在linux系统下修改python的默认版本。

本文linux系统使用的是ubuntu19。

操作:

1.在shell下输入python --version查看当前python版本;

root@jack-virtual-machine:/usr/bin# python --version
Python 2.7.17
root@jack-virtual-machine:/usr/bin# 

  

2.运行命令 ll /usr/bin/pyth* 查看当前linux系统已经安装了哪几个版本的python。

root@jack-virtual-machine:/usr/bin# ll /usr/bin/pyth*
lrwxrwxrwx 1 root root       7 Mar  2 01:52 /usr/bin/python -> python2*
lrwxrwxrwx 1 root root       9 Oct 10 04:32 /usr/bin/python2 -> python2.7*
-rwxr-xr-x 1 root root 3702800 Nov  7 02:07 /usr/bin/python2.7*
lrwxrwxrwx 1 root root       9 Feb 24 03:39 /usr/bin/python3 -> python3.7*
-rwxr-xr-x 1 root root 5082224 Oct  8 09:47 /usr/bin/python3.7*
-rwxr-xr-x 1 root root 5082224 Oct  8 09:47 /usr/bin/python3.7m*
-rwxr-xr-x 1 root root     384 Jan 30  2019 /usr/bin/python3-futurize*
lrwxrwxrwx 1 root root      10 Feb 24 03:39 /usr/bin/python3m -> python3.7m*
-rwxr-xr-x 1 root root     388 Jan 30  2019 /usr/bin/python3-pasteurize*
root@jack-virtual-machine:/usr/bin# 

 

3.如果没有安装python3版本的需要先进行安装;

root@jack-virtual-machine:/usr/bin# apt install python3.7
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
将会同时安装下列软件:
  libpython3.7 libpython3.7-minimal libpython3.7-stdlib python3.7-minimal
建议安装:
  python3.7-venv python3.7-doc binfmt-support
下列软件包将被升级:
  libpython3.7 libpython3.7-minimal libpython3.7-stdlib python3.7
  python3.7-minimal
升级了 5 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 103 个软件包未被升级。

 

4.而在shell中输入命令:python,实际上是读取/usr/bin/python文件,/usr/bin/python文件是一个软链接文件,并指出python2,而python2又是一个指向python2.7的软链接文件。

root@jack-virtual-machine:/usr/bin# ll /usr/bin/python*
lrwxrwxrwx 1 root root       7 Mar  2 01:52 /usr/bin/python -> python2*
lrwxrwxrwx 1 root root       9 Oct 10 04:32 /usr/bin/python2 -> python2.7*
-rwxr-xr-x 1 root root 3702800 Nov  7 02:07 /usr/bin/python2.7*
lrwxrwxrwx 1 root root       9 Feb 24 03:39 /usr/bin/python3 -> python3.7*
-rwxr-xr-x 1 root root 5082224 Oct  8 09:47 /usr/bin/python3.7*
-rwxr-xr-x 1 root root 5082224 Oct  8 09:47 /usr/bin/python3.7m*
-rwxr-xr-x 1 root root     384 Jan 30  2019 /usr/bin/python3-futurize*
lrwxrwxrwx 1 root root      10 Feb 24 03:39 /usr/bin/python3m -> python3.7m*
-rwxr-xr-x 1 root root     388 Jan 30  2019 /usr/bin/python3-pasteurize*
root@jack-virtual-machine:/usr/bin# ll /usr/bin/python
lrwxrwxrwx 1 root root 7 Mar  2 01:52 /usr/bin/python -> python2*
root@jack-virtual-machine:/usr/bin# ll /usr/bin/python2
lrwxrwxrwx 1 root root 9 Oct 10 04:32 /usr/bin/python2 -> python2.7*
root@jack-virtual-machine:/usr/bin# 

 

5.通过更改/usr/bin/python的指向就能实现更改python默认版本,由于软链接文件不支持修改,所以先删除,再重新指向。

删除python软链接文件: rm -rf python

重新创建新指向 python:ln -s /usr/bin/python3 python

root@jack-virtual-machine:/usr/bin# 
root@jack-virtual-machine:/usr/bin# rm -rf python
root@jack-virtual-machine:/usr/bin# python --version
bash: /usr/bin/python: 没有那个文件或目录
root@jack-virtual-machine:/usr/bin# ln -s /usr/bin/python3 python
root@jack-virtual-machine:/usr/bin# 

 

6.检查当前python版本;

root@jack-virtual-machine:/usr/bin# 
root@jack-virtual-machine:/usr/bin# python 
Python 3.7.5rc1 (default, Oct  8 2019, 16:47:45) 
[GCC 9.2.1 20191008] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
root@jack-virtual-machine:/usr/bin# python --version
Python 3.7.5rc1
root@jack-virtual-machine:/usr/bin# 

 

7.如果改回python2,同理先删除,再重新创建。

删除python软链接文件: rm -rf python

重新创建新指向 python:ln -s python2 python

root@jack-virtual-machine:/usr/bin# 
root@jack-virtual-machine:/usr/bin# rm -rf python
root@jack-virtual-machine:/usr/bin# ln -s python2 python
root@jack-virtual-machine:/usr/bin# 
root@jack-virtual-machine:/usr/bin# python --version
Python 2.7.17
root@jack-virtual-machine:/usr/bin# 

  

参考文档:https://jingyan.baidu.com/article/0f5fb0992adeeb6d8334ea12.html

 

posted @ 2020-03-02 18:11  叛逆期阿飞  阅读(10105)  评论(1编辑  收藏  举报