# List all versions of python interpreters available to install: pyenv install -l # List all versions of CPython (the default interpreter) available to install: pyenv install -l | grep -E '^\s*[0-9]' # Install specified version. In this case it installs 3.12.6 pyenv install 3.12.6 # List versions installed locally: pyenv versions # See global version pyenv global # Set global version to x.x.x; in this case it sets to 3.12.6 pyenv global 3.12.6 # See local version pyenv local # Set global version to x.x.x; in this case it sets to 2.7.18 pyenv global 3.12.6
截至 2024 年 9 月,不同語言版本和解釋器的管理在 Pythonic 世界中有點屬於灰色地帶,但社群當然有「非官方」解決方案來規避這個問題。
一個特別好的解決方案是 PyEnv,它大量借鑒了 ruby 的版本管理解決方案,這是 ruby 做得非常好的事情。
PyEnv 基本上是 shell 腳本的集合,有助於在全域和本機範圍內安裝和選擇特定的 python 版本或解譯器。
它的工作原理是在 PATH 中插入墊片目錄,並根據特定條件重新哈希墊片,以便映射 python 二進位(以及其他設置,例如映射 pip、切換 PYTHON_VERSION env 等)。
本指南將重點放在 MacOS 和 Debian 系列 Linux 發行版,並將涵蓋 bash 和 zsh 的設定。它不會覆蓋 pyenv-win。
這假設已安裝 homebrew 和 xcode-tools。
第一行將安裝依賴項來安裝和建置 python 版本。
第二行將安裝 pyenv 本身。
第三行是可選的,將在運行brew之前附加pyenv加載,以避免運行brew doctor時出現誤報警告,並避免在開發brew python包時出現錯誤。請注意,它被放置在 .zshrc 中,您的 mac 預設應該已經啟用了 zsh,除非它是舊機器,在這種情況下,您可能應該將其附加到 .bash_profile。
brew install openssl readline sqlite3 xz zlib tcl-tk && \ brew install pyenv \ && echo "alias brew='env PATH=\"${PATH//$(pyenv root)\/shims:/}\" brew'" >> ~/.zshrc
首先,安裝依賴項。
然後,將公共儲存庫複製到 $HOME/.pyenv.
sudo apt update && sudo apt install build-essential \ libssl-dev zlib1g-dev \ libbz2-dev libreadline-dev libsqlite3-dev curl git \ libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev && \ git clone https://github.com/pyenv/pyenv.git $HOME/.pyenv
將此新增至相關的 shell 設定檔中,如果您使用的是 bash,則為 .bash_profile;如果您使用的是 zsh,則為 .zshrc。如果您不確定,請使用 echo $SHELL 找出哪一個。
## pyenv configs export PYENV_ROOT="$HOME/.pyenv" export PATH="$PYENV_ROOT/bin:$PATH" if command -v pyenv 1>/dev/null 2>&1; then eval "$(pyenv init -)" fi
最後,刷新終端環境以查看 exec "$SHELL" 的變化。
完成此設定後,您的 python(不是 python3!)將映射到使用 pyenv 設定的 python 版本。
我建議您安裝一個 python 版本(請參閱上面的命令參考)並將其設定為您的全域版本。
檢查 python --version 是否一切正常,看看您安裝的版本是否與您選擇的版本相符。如果沒有,它可能仍然指向系統預設值,因此您可能已經執行了以下步驟之一(可能是刷新終端的部分,如果您不確定要做什麼,請關閉並重新打開終端視窗).
享受更明智的 python 版本管理的樂趣!
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3