修改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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM