# 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