修改linux下python的預設版本

2022-01-15 06:39:49 字數 4145 閱讀 4583

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: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

>>> exit()

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

python 3.7.5rc1

root@jack-virtual-machine:/usr/bin#

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

重新建立新指向 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#

參考文件:

linux下 python 版本檢視和修改

1.linux的軟連線存放位置 cd usr bin2.檢視現有python的軟連線指向的版本 ls al python 3.刪除舊的軟連線 rm python4.建立新的軟連線 ln s python3.6 python5.檢視軟連線版本 python v 全部操作都在root使用者下執行 1.安...

linux下用python來批量修改檔名

我們在維護系統的時候,有時候遇到需要批量修改乙個資料夾下的所有檔名,這個時候,如果用人工手動的去修改的話,那就太沒有效率了,這個時候我們需要乙個指令碼來完成我們的任務,當然用shell,perl也可以完成,今天這裡介紹的是用python來解決這個問題,我們假設在 root test 下面有4個檔案,...

Linux下修改PATH的方法

比如要把 etc apache bin目錄新增到path中 1.path path etc apache bin 這種方法只是本地環境變數 即只有本shell能夠使用,如果需要設定為全域性環境變數,需要export export path path etc apache bin 使用這種方法,每當登...