Appearance
pyenv 教程
什么是 pyenv
pyenv 是一个简单的 Python 版本管理工具,它允许你在同一台机器上安装和管理多个 Python 版本,而不会相互干扰。pyenv 可以:
- 安装多个 Python 版本
- 在不同版本间快速切换
- 为不同项目设置特定的 Python 版本
- 管理 Python 虚拟环境
安装 pyenv
Windows 安装
- 下载并安装 pyenv-win
- 按照安装向导完成安装
- 安装完成后,重启终端
macOS 安装
使用 Homebrew 安装:
bash
brew update
brew install pyenvLinux 安装
使用安装脚本:
bash
curl https://pyenv.run | bash环境配置
配置环境变量
macOS/Linux
将以下内容添加到 ~/.bashrc 或 ~/.zshrc 文件中:
bash
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv virtualenv-init -)"然后执行:
bash
source ~/.bashrc # 或 source ~/.zshrcWindows
pyenv-win 安装时会自动配置环境变量,无需手动设置。
基本使用
查看可用的 Python 版本
bash
pyenv install --list安装指定版本的 Python
bash
pyenv install 3.9.7 # 安装 Python 3.9.7
pyenv install 3.8.10 # 安装 Python 3.8.10查看已安装的 Python 版本
bash
pyenv versions设置全局 Python 版本
bash
pyenv global 3.9.7设置局部 Python 版本(当前目录)
bash
pyenv local 3.8.10设置 shell 会话的 Python 版本
bash
pyenv shell 3.7.10卸载指定版本的 Python
bash
pyenv uninstall 3.7.10虚拟环境管理
创建虚拟环境
bash
pyenv virtualenv 3.9.7 my-project激活虚拟环境
bash
pyenv activate my-project退出虚拟环境
bash
pyenv deactivate列出所有虚拟环境
bash
pyenv virtualenvs删除虚拟环境
bash
pyenv virtualenv-delete my-project常见问题
安装 Python 失败
原因:缺少依赖包
解决方法:
- Ubuntu/Debian:
sudo apt install build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl - CentOS/RHEL:
sudo yum install gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel xz xz-devel libffi-devel
虚拟环境激活失败
原因:环境变量配置问题
解决方法:确保正确配置了 PYENV_ROOT 和 PATH 环境变量。
最佳实践
- 为每个项目创建独立的虚拟环境,避免依赖冲突
- 使用
.python-version文件:在项目根目录创建此文件,指定项目使用的 Python 版本 - 定期更新 pyenv:使用
pyenv update命令更新 - 合理管理 Python 版本:只安装项目需要的版本,避免安装过多版本占用空间
总结
pyenv 是一个强大的 Python 版本管理工具,它可以帮助你轻松管理多个 Python 版本和虚拟环境,为不同项目提供隔离的开发环境。通过本文的教程,你应该能够掌握 pyenv 的基本使用方法,为你的 Python 开发工作提供便利。