【Linux】python版本控制和環境管理

UnderTurrets發表於2024-08-21

@

目錄
  • 1.檢視目前python的版本
  • 2.新增軟體源並更新
  • 3.選擇你想要下載的版本
  • 4.警示:沒必要設定預設版本
    • 誤區
    • 千萬千萬不要覆蓋python3軟連結
    • 解決辦法
  • 5.pip軟體包管理
    • 最省心
    • 稍微麻煩
    • 換源


網上有很多教程都是教導小白去官方下載之後編譯安裝。但是,小白連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/目錄下有兩個軟連結:pythonpython3。這兩個軟連結都指向了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 釋出!

相關文章