linux 用 虛擬環境解決pip無法使用

執行 pip 指令失敗,這個錯誤訊息 $error: externally-managed-environment$ 是在告訴你,你現在的 Python 環境是由系統(你的 Linux 發行版,看來是 Debian/Ubuntu)來管理的。系統不允許你直接用 pip 這樣隨意安裝套件到這個系統層級的環境裡,這樣做可能會弄壞系統依賴的 Python 組件。😅

怎麼解決呢?(建議用 虛擬環境

訊息裡已經給了幾個很好的建議,最標準、最安全的做法,就是使用 Python 虛擬環境(Virtual Environment)。

1. 建立虛擬環境

你可以在你想要放專案的資料夾裡(例如 /home/max/ 或專門為 pip packages 設一個資料夾)執行這行:

python3 -m venv my_venv
  • 這行指令會建立一個名為 my_venv 的新資料夾。
  • 這個資料夾裡會有一個獨立的 Python 環境,跟系統那個是分開的。

2. 啟用虛擬環境

接著你要進入這個獨立的環境:

source my_venv/bin/activate
  • 成功的話,你的命令提示字元前面會多一個 (my_venv) 這樣的東西。
  • 這樣你之後用的 pippython 就都是這個獨立環境裡的了!

3. 安裝 Whisper

現在你就可以用 pip 來安裝你想裝的套件了,就不會遇到上面的錯誤了:

Bash

pip install git+https://github.com/openai/whisper.git
  • 這樣安裝的套件只會在這個 my_venv 裡有效,不會影響到你的系統。

每次都要打 source my_venv/bin/activate 來啟動虛擬環境,真的很容易忘,而且路徑長長一串很麻煩!😫


💡 快速解決的辦法:設定別名(Alias)

最快、最簡單的方法就是為這串指令設定一個別名 (Alias)。別名就像給你的長指令取一個小名,以後你只要叫這個小名,它就知道要做什麼了。

1. 編輯你的 Shell 設定檔

你需要打開你的 Shell 設定檔。因為你用的是 Bash(看你的命令提示字元),這個檔案通常是:

  • ~/.bashrc
  • ~/.bash_profile
  • ~/.profile

小提醒: 在 Ubuntu/Debian 系統上,最常修改的是 ~/.bashrc 這個檔案。

用你習慣的文字編輯器打開它,例如 nano

nano ~/.bashrc

2. 加入別名指令

在檔案的最後面加入一行指令。我們給你的指令取一個簡單的名字,例如叫 start_venv

請把下面這行完整的貼進去:

alias start_venv='source ~/my_venv/bin/activate'
alias end_venv='deactivate'

重點提醒:

  • 記得把路徑 ~/my_venv 換成你虛擬環境實際的儲存位置喔!
  • alias 後面是 別名='要執行的長指令',中間不能有空格。

3. 儲存並重新載入設定檔

  1. 儲存並關閉檔案(用 nano 的話,按 Ctrl+O 存檔,Ctrl+X 退出)。
  2. 要讓剛才的設定生效,你需要重新載入這個設定檔:source ~/.bashrc

🌟 現在怎麼用?

以後你想要啟用 Whisper 的虛擬環境,只需要在終端機裡輸入你設定的小名,是不是超簡單?😄

goto_venv

它就會自動幫你執行 source ~/my_venv/bin/activate 了!


💻 離開虛擬環境的指令

當你的命令提示字元前面有 (whisper_venv) 這種名字的時候,表示你現在在虛擬環境裡面。

你只要在終端機輸入:

deactivate

💡 執行之後會發生什麼事?

  • 你輸入 deactivate 後,前面的 (whisper_venv) 或其他虛擬環境的名字就會消失
  • 這代表你已經退出了那個獨立的 Python 環境。
  • 現在你輸入 pythonpip 指令時,用的就是系統原本的 Python 環境了。

就這麼簡單!所以下次用完虛擬環境記得要 deactivate 喔,才不會搞混。😉

發佈留言

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