文章目录
- # Ubuntu/Debian sudo apt update sudo apt install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev # CentOS/RHEL sudo yum install gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel xz xz-devel libffi-devel
- curl https://pyenv.run | bash
- 将以下内容添加到 ~/.bashrc 或 ~/.zshrc: export PATH=”$HOME/.pyenv/bin:$PATH” eval “$(pyenv init –path)” eval “$(pyenv virtualenv-init -)” 应用配置: exec “$SHELL” # 或 source ~/.bashrc / source ~/.zshrc
- pyenv –version # 应输出类似: pyenv 2.3.0
- # 确保已安装所有依赖 sudo apt install build-essential # Ubuntu/Debian sudo yum groupinstall “Development Tools” # CentOS/RHEL
- # 确保在 shell 配置中正确设置了 virtualenv-init eval “$(pyenv virtualenv-init -)”
- # 尝试使用 –patch 选项 pyenv install –patch 3.8.12 < <(curl -sSL https://github.com/python/cpython/commit/8ea6353.patch?full_index=1)
- # 检查 shell 配置是否正确加载 echo $PATH | grep pyenv # 应包含 pyenv 路径 # 检查当前目录是否有 .python-version 文件
目录
- Pyenv 是什么?
- 安装 Pyenv
- 1. 安装依赖
- 2. 安装 Pyenv
- 3. 配置 Shell
- 4. 验证安装
- 管理 Python 版本
- 1. 查看可安装版本
- 2. 安装 Python 版本
- 3. 查看已安装版本
- 4. 设置全局版本
- 5. 设置临时版本(仅当前会话)
- 虚拟环境管理
- 1. 创建虚拟环境
- 2. 激活/停用环境
- 3. 查看所有环境
- 4. 删除环境
- 5. 自动激活环境(项目级)
- 项目级 Python 版本控制
- 1. 设置项目专用版本
- 2. 验证版本
- 3. 结合虚拟环境使用
- 高级技巧
- 1. 加速安装(使用镜像)
- 2. 自定义编译选项
- 3. 卸载 Python 版本
- 4. 更新 Pyenv
- 常见问题解决
- 1. 安装时出现 “C compiler cannot create executables”
- 2. 虚拟环境激活后提示符不显示环境名
- 3. 安装过程中出现 SSL 错误
- 4. Python 版本切换无效
- 最佳实践
- 总结
Pyenv 是一个强大的 Python 版本管理工具,允许你:
- 在同一台机器上安装多个 Python 版本
- 轻松切换全局或项目级的 Python 版本
- 管理虚拟环境(通过 pyenv-virtualenv 插件)
- 解决不同项目对 Python 版本的依赖问题
# Ubuntu/Debian
sudo apt update
sudo apt install -y make build-essential libssl-dev zlib1g-dev
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm
libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
# CentOS/RHEL
sudo yum install gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite
sqlite-devel openssl-devel xz xz-devel libffi-devel
curl https://pyenv.run | bash
将以下内容添加到 ~/.bashrc 或 ~/.zshrc:
export PATH="$HOME/.pyenv/bin:$PATH" eval "$(pyenv init --path)" eval "$(pyenv virtualenv-init -)"
应用配置:
exec "$SHELL" # 或 source ~/.bashrc / source ~/.zshrc
pyenv --version
# 应输出类似: pyenv 2.3.0
pyenv install --list
# 安装指定版本
pyenv install 3.8.12
pyenv install 3.9.7
# 安装最新版本
pyenv install 3.10:latest
pyenv versions
# 输出示例:
# system
# * 3.8.12 (set by /home/user/.pyenv/version)
# 3.9.7
pyenv global 3.9.7
pyenv shell 3.8.12
# 基于当前 Python 版本创建
pyenv virtualenv myenv
# 基于指定 Python 版本创建
pyenv virtualenv 3.8.12 myproject-env
# 激活
pyenv activate myproject-env
# 停用
pyenv deactivate
pyenv virtualenvs
pyenv virtualenv-delete myproject-env
cd myproject
pyenv local myproject-env # 创建 .python-version 文件
cd myproject
pyenv local 3.8.12 # 创建 .python-version 文件
python --version
# 应输出: Python 3.8.12
cd myproject
pyenv virtualenv 3.8.12 myproject-env
pyenv local myproject-env
# 设置国内镜像(适用于中国用户)
export PYTHON_BUILD_MIRROR_URL="https://npm.taobao.org/mirrors/python/"
pyenv install 3.8.12
env PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install 3.9.7
pyenv uninstall 3.7.10
pyenv update
# 确保已安装所有依赖
sudo apt install build-essential # Ubuntu/Debian
sudo yum groupinstall "Development Tools" # CentOS/RHEL
# 确保在 shell 配置中正确设置了 virtualenv-init
eval "$(pyenv virtualenv-init -)"
# 尝试使用 --patch 选项
pyenv install --patch 3.8.12 < <(curl -sSL https://github.com/python/cpython/commit/8ea6353.patch?full_index=1)
# 检查 shell 配置是否正确加载
echo $PATH | grep pyenv
# 应包含 pyenv 路径
# 检查当前目录是否有 .python-version 文件
项目规范:
- 每个项目使用独立的虚拟环境
- 在项目根目录创建
.python-version文件 - 在 README 中注明 Python 版本要求
版本选择:
- 新项目使用受支持的稳定版本(如 3.8+)
- 旧项目保持原有版本不变
依赖管理:
# 在激活虚拟环境后 pip install pip-tools pip-compile requirements.in > requirements.txt pip-sync
CI/CD 集成:
# .gitlab-ci.yml 示例 before_script: - pyenv install 3.8.12 - pyenv global 3.8.12 - python -m venv venv - source venv/bin/activate - pip install -r requirements.txt
多版本测试:
# 测试脚本示例 for version in 3.7.10 3.8.12 3.9.7; do pyenv local $version python -m pytest tests/ done
通过本指南,你应该能够:
- 安装并配置 pyenv
- 管理多个 Python 版本
- 创建和使用虚拟环境
- 为不同项目设置专用 Python 环境
- 解决常见问题
建议定期运行 pyenv update 保持工具最新,并关注 pyenv GitHub 获取最新动态。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持风君子博客。
您可能感兴趣的文章:
- pyenv虚拟环境管理python多版本和软件库的方法
- Python多版本开发环境管理工具介绍
- python常见环境管理工具超全解析
- Python虚拟环境管理工具Conda的使用指南
- Python-UV多环境管理的方法