
解決新版 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 venv | uv 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 套件名稱 來安裝你需要的工具了。
