別再全域安裝啦!用 venv 與 uv 輕鬆搞定 Linux 的 Python 虛擬環境

解決新版 Linux 系統( 如 Ubuntu 24.04 )中,執行 pip install 出現 externally-managed-environment 錯誤的問題。這個錯誤是系統為了保護自己不被 Python 套件弄壞而設計的。

最推薦的解決方法是使用虛擬環境。以下為你整理 venv 與 uv 這兩種主流工具的實作步驟與比較,幫助你輕鬆上手。


實作一:使用 Python 內建的 venv

這是 Python 官方最基礎、最傳統的虛擬環境建立方式。

1. 安裝虛擬環境工具

在 Ubuntu 系統中,需要先透過系統套件管理器安裝工具:

sudo apt install python3-venv

2. 建立虛擬環境

在專案目錄或家目錄下,建立一個名為 venv 的虛擬環境資料夾:

python3 -m venv venv

3. 進入虛擬環境

執行以下指令來啟動虛擬環境。啟動後,終端機提示字元前方會出現 (venv) 的字樣:

source venv/bin/activate

4. 安裝與執行套件

進入虛擬環境後,就可以正常使用 pip 安裝套件,並且自由執行 Python 程式,完全不會影響到系統:

pip install yt-dlp
python3 main.py

5. 免啟動的快捷執行法

如果不想每次都輸入 source 指令,也可以直接使用虛擬環境內的 Python 執行檔路徑:

./venv/bin/python3 main.py

實作二:使用新世代的 uv 工具

如果你覺得每次都要 source 啟動環境很麻煩,或者想要更快的安裝速度, uv 是一個非常現代且輕量的選擇。它會自動幫每個工具管理獨立的虛擬環境。

1. 安裝 uv

請參考 uv 官方文件 進行安裝。

2. 安裝命令列工具

如果你只想安裝一個可以直接在終端機執行的 Python 工具( 例如 yt-dlp ),可以直接執行:

uv tool install yt-dlp

3. 直接使用

安裝完成後,不需要手動切換或啟動任何虛擬環境,直接在終端機輸入指令就能使用:

yt-dlp --version

venv 與 uv 的核心比較

比較項目Python venvuv tool
安裝難易度內建,只需用 apt 安裝支援套件需要另外下載安裝 uv 工具
操作流程需手動建立、啟動環境,再用 pip 安裝一行指令直接安裝,免手動管理環境
執行速度標準速度極快,使用 Rust 開發
適合場景大型 Python 專案、需要管理大量套件依賴單一命令列工具、追求快速簡單的使用者

執行 uv 顯示訊息:

➜  ~ uv
zsh: command not found: uv

看來你的系統裡面還沒有安裝 uv 工具,所以終端機找不到這個指令。

你可以透過以下兩種方式之一來安裝 uv ,安裝完成後就可以正常使用了。


方法一:使用官方推薦的腳本安裝(最快)

打開終端機,直接複製並執行以下指令。

如果你使用的是 Linux 或 macOS 系統:

curl -LsSf https://astral.sh/uv/install.sh | sh

如果你使用的是 Windows 系統( 使用 PowerShell ):

powershell -c "irm https://astral.sh/uv/install.ps1 | iex"

💡 貼心提醒:安裝完成後,請關閉終端機並重新打開,或者執行 source ~/.zshrc ( 如果你使用 zsh ),這樣新安裝的指令才會生效。


方法二:使用原生的 pip 安裝

如果你的系統目前還能使用全域的 pip ,也可以直接透過 pip 把 uv 安裝到使用者的家目錄目錄下:

pip install uv --user

安裝完成後,再次輸入 uv --version 檢查,只要有顯示版本號碼,就可以開始使用 uv tool install 套件名稱 來安裝你需要的工具了。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *