pyenv

2023-10-19

Pyenv 是一个用于管理 Python 版本的工具,它可以在同一台计算机上轻松地切换和管理多个 Python 版本。可以很好的和包管理工具 Poetry 配合使用。

安装

macOS 可以直接通过 Homebrew 安装:

Terminal window
1
brew install pyenv

Linux 安装:

Terminal window
1
curl https://pyenv.run | bash

对于 Zsh 运行以下命令增加配置到

~/.zshrc

Terminal window
1
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
2
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
3
echo 'eval "$(pyenv init -)"' >> ~/.zshrc

对于 bash 运行以下命令增加配置到 ~/.bashrc

Terminal window
1
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
2
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
3
echo 'eval "$(pyenv init -)"' >> ~/.bashrc

安装完成后,重启 shell 生效:

Terminal window
1
exec "$SHELL"

使用

国内镜像加速

设置对应变量即可:

Terminal window
1
export PYTHON_BUILD_MIRROR_URL_SKIP_CHECKSUM=1
2
export PYTHON_BUILD_MIRROR_URL="https://npm.taobao.org/mirrors/python/"

另外一种方式,参考:pyenv 安装 Python 使用国内源

命令

  • 安装:pyenv install <version>
    • -l:列出可用版本
  • 卸载:pyenv uninstall <version>
  • 当前目录指定版本:pyenv local <version>
  • 全局指定版本:pyenv global <version>
  • 查看已安装版本:pyenv versions

指定版本后终端需要执行 souce ~/.zshrc,或者关闭后重开。

问题

WARNING: The Python bz2 extension was not compiled. Missing the bzip2 lib?

Ubuntu 22 安装时报错执行以下命令:

Terminal window
1
sudo apt-get update; sudo apt-get install --no-install-recommends make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev

参考