我是用 homebrew 安裝 pyenv ,之前是用 pyenv 在管理 python 環境,但現在進入 AI 時代,AI 反倒不知道要載入哪個環境。
這邊後來是看到可以用 pipx 來安裝跟管理這種獨立的工具,再加上 uv 管理 python 專案更為方便,為此,乾脆就移除 pyenv 了。
若要先備份每個 python 套件,可以用以下腳本來進行
mkdir -p ~/pyenv-pip-backup
for venv in $(pyenv virtualenvs --bare | grep -v '/'); do
echo "匯出 $venv ..."
"$PYENV_ROOT/versions/$venv/bin/pip" freeze > ~/pyenv-pip-backup/"$venv".txt
done
這樣會把所有安裝過的套件備份到 ~/pyenv-pip-backup 目錄下。
然後用 homebrew 移除 pyenv。
brew uninstall pyenv
# 若有安裝 pyenv-virtualenv 這個 plugin(也常透過 brew 裝)
brew uninstall pyenv-virtualenv
再刪除 pyenv 檔案。
rm -rf "$(brew --prefix)/opt/pyenv" 2>/dev/null # 保險起見清一下 opt 連結(通常不存在)
rm -rf ~/.pyenv
清理環境變數,先找看哪個檔案有
grep -n "pyenv" ~/.zshrc ~/.zprofile ~/.bash_profile ~/.bashrc ~/.profile 2>/dev/null
通常內容是
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
把這些刪除掉。
最後關閉終端機,重新開,讓環境變數重新載入。
開完以後,用以下方式檢驗,照理說應該就都看不到了。
# 確認指令已消失
command -v pyenv
which pyenv
# 應該回傳「找不到指令」或空白
# 確認目錄已清空
ls -la ~/.pyenv 2>&1
# 應顯示 No such file or directory
# 確認 PATH 中已無 pyenv 蹤跡
echo $PATH | tr ':' '\n' | grep pyenv
# 應該沒有任何輸出
# 確認 brew 也不再列出
brew list pyenv 2>&1