1. 前言
在 Ubuntu 上使用 Python 時,Python 版本管理 是一個重要的課題。
Python 會定期發布新版本,根據開發環境的不同,可能需要使用不同的 Python 版本。
然而,在 Ubuntu 上 可能同時存在多個 Python 版本,因此經常會遇到以下情境:
「想確認當前的 Python 版本」
「想使用特定版本的 Python」
「想切換 Python 版本」
本篇文章將詳細說明 如何在 Ubuntu 上確認、變更與切換 Python 版本。
透過範例指令,即使是初學者也能輕鬆操作,請務必閱讀到最後!
2. 確認 Python 版本【立即可試!】
首先,介紹如何檢查目前安裝在 Ubuntu 上的 Python 版本。
2.1 最簡單的方法(1 秒內完成)
在 Ubuntu 上確認 Python 版本的最簡單方法,就是在終端機中執行以下指令:
python3 --version
或者,也可以使用以下指令,結果相同:
python3 -V
執行範例:
$ python3 --version
Python 3.10.6
執行後,系統會顯示當前的 Python 版本。
2.2 python --version
與 python3 --version
的差異
在 Ubuntu 中,python
指令可能對應到 Python 2,
因此通常建議使用 python3 --version
來確認版本。
可透過以下指令檢查 python
是否已安裝:
python --version
如果出現 Command 'python' not found
的錯誤訊息,代表系統可能只安裝了 Python 3。
2.3 取得更詳細的版本資訊
如果想查看 Python 的詳細版本資訊,可以執行以下指令:
python3 -VV
執行範例:
$ python3 -VV
Python 3.10.6 (main, Jan 16 2024, 11:25:20) [GCC 11.2.0]
此指令會顯示 Python 的完整版本資訊,包括使用的 GCC 版本與建置時間。
2.4 在 Python 程式中取得版本資訊
如果需要在 Python 程式內確認 Python 版本,可以使用 sys
模組:
import sys
print(sys.version)
print(sys.version_info)
執行範例:
$ python3 script.py
3.10.6 (main, Jan 16 2024, 11:25:20) [GCC 11.2.0]
sys.version_info(major=3, minor=10, micro=6, releaselevel='final', serial=0)
使用 sys.version_info
可以以數字形式取得 Python 版本的主要、次要與修正版本號。
3. 變更與管理 Python 版本【設定系統預設版本】
在 Ubuntu 中,可能同時安裝了多個 Python 版本。
本節將介紹如何變更系統預設的 Python 版本。
3.1 確認已安裝的 Python 版本
首先,檢查 Ubuntu 中已安裝的 Python 版本:
ls /usr/bin/python*
執行範例:
$ ls /usr/bin/python*
/usr/bin/python3 /usr/bin/python3.8 /usr/bin/python3.10
如果系統中安裝了多個版本,可以選擇要設為預設的版本。
3.2 使用 update-alternatives
切換預設 Python 版本
Ubuntu 提供了 update-alternatives
指令,可用來切換系統預設的 Python 版本。
首先,檢查當前的 Python 設定:
sudo update-alternatives --display python
如果 python
尚未註冊,可使用以下指令新增:
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.10 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 2
接著,選擇要使用的 Python 版本:
sudo update-alternatives --config python
執行範例:
There are 2 choices for the alternative python (providing /usr/bin/python).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/python3.10 1 auto mode
1 /usr/bin/python3.10 1 manual mode
2 /usr/bin/python3.8 2 manual mode
Press <enter> to keep the current choice[*], or type selection number:
輸入要切換的版本編號,即可變更預設的 Python 版本。
3.3 手動變更符號連結(Symbolic Link)
若不使用 update-alternatives
,也可以透過修改符號連結來變更系統的 Python 版本:
sudo ln -sf /usr/bin/python3.10 /usr/bin/python
執行後,系統中的 python
指令將對應到 python3.10
。

4. 依專案切換 Python 版本
在 Ubuntu 上使用 Python 時,可能會遇到 不同專案需要不同的 Python 版本 的情況。
例如,某個專案需要 Python 3.10,而另一個專案則使用 Python 3.8。
這時候,可以使用 虛擬環境(venv)或 pyenv 來管理 Python 版本。
本節將介紹如何使用 venv
和 pyenv
輕鬆切換 Python 版本。
4.1 使用 venv 為不同環境管理 Python 版本
Python 內建的 venv
(虛擬環境) 功能,允許在特定目錄內獨立管理 Python 版本與套件。
建立 venv 虛擬環境
先進入專案目錄,然後執行以下指令來建立虛擬環境:
python3 -m venv myenv
此指令將建立一個名為 myenv
的虛擬環境。
啟動虛擬環境
啟動虛擬環境需執行以下指令:
source myenv/bin/activate
啟動後,終端機提示符會發生變化:
(myenv) user@ubuntu:~/project$
此時,系統將使用虛擬環境內的 Python。
確認虛擬環境內的 Python 版本
在虛擬環境內,可執行以下指令確認 Python 版本:
python --version
關閉虛擬環境
要退出虛擬環境時,執行以下指令:
deactivate
透過這種方式,可 為不同專案獨立管理 Python 版本與套件。
4.2 使用 pyenv 管理 Python 版本
雖然 venv
可為單個專案管理 Python 環境,
但若想要在整個系統內自由切換 Python 版本,建議使用 pyenv
。
安裝 pyenv
在 Ubuntu 上安裝 pyenv
,可執行以下指令:
curl https://pyenv.run | bash
安裝完成後,執行以下指令以套用設定:
exec $SHELL
使用 pyenv 安裝 Python 版本
透過 pyenv
安裝 Python 版本的指令如下:
pyenv install 3.10.6
若要查看可安裝的 Python 版本,可執行:
pyenv install --list
使用 pyenv 切換 Python 版本
要變更系統全域的 Python 版本,可執行:
pyenv global 3.10.6
若只想在特定目錄內變更 Python 版本,可使用:
pyenv local 3.8.10
確認目前使用的 Python 版本
可透過以下指令確認目前的 Python 版本:
pyenv versions
透過 pyenv
,可 輕鬆管理與切換不同的 Python 版本。
5. 常見問題(FAQ)【疑難排解】
本節將介紹在 Ubuntu 上管理 Python 版本時,常見的問題與解決方法。
Q1: python
和 python3
有什麼不同?
在 Ubuntu 中,python3
是預設的 Python 版本,而 python
可能對應到 Python 2。
因此,建議使用 python3 --version
來確認 Python 版本。
Q2: 為什麼 python --version
顯示的版本與預期不同?
這可能是因為系統預設的 Python 版本未正確變更。可以使用以下方法來修改:
- 使用
update-alternatives
:
sudo update-alternatives --config python
- 使用
pyenv
:
pyenv global 3.10.6
Q3: 為什麼 python3 --version
可以執行,但 python
無法執行?
這可能是因為系統未安裝 python
指令,或者 python
未對應到 python3
。
可以透過以下指令來建立符號連結,讓 python
對應到 python3
:
sudo ln -sf /usr/bin/python3 /usr/bin/python
Q4: 如何在 Ubuntu 上移除舊版本的 Python?
首先,確認已安裝的 Python 版本:
apt list --installed | grep python
若要移除特定版本的 Python,可以使用以下指令:
sudo apt remove python3.6
Q5: 刪除舊版 Python 會影響 Ubuntu 嗎?
Ubuntu 的某些系統工具可能依賴特定的 Python 版本,因此在移除 Python 前,請先確認當前系統仍保有必要的 Python 版本。
可以執行以下指令來檢查已安裝的 Python 版本:
apt list --installed | grep python
6. 總結 & 下一步推薦閱讀
本篇文章詳細介紹了 如何在 Ubuntu 上檢查、變更與切換 Python 版本。
- 確認 Python 版本 →
python3 --version
- 變更系統預設的 Python 版本 → 使用
update-alternatives
或ln -sf
- 為專案管理不同的 Python 版本 → 使用
venv
(虛擬環境)或pyenv
特別是 pyenv
,可以大幅簡化 Python 版本的管理。
如果您需要在多個專案間切換不同的 Python 版本,或想變更系統的預設 Python 版本,建議嘗試使用 pyenv
。
相關網站