Pyenv Python 版本管理器完整教程

Pyenv 是 Python 社区最流行的多版本管理工具,灵感来自 Ruby 社区的 Rbenv。它允许你在同一台机器上安装和切换多个 Python 版本,而不会影响系统 Python。本文将介绍如何在搬瓦工 VPS 上使用 Pyenv。关于 Python 虚拟环境的使用,请参考 venv 教程。购买搬瓦工使用优惠码 NODESEEK2026 享 6.77% 折扣。

一、安装依赖

# Ubuntu/Debian
apt update
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 git

# CentOS/RHEL
yum install -y gcc make zlib-devel bzip2 bzip2-devel readline-devel \
  sqlite sqlite-devel openssl-devel tk-devel libffi-devel xz-devel git

二、安装 Pyenv

# 使用自动安装脚本
curl https://pyenv.run | bash

# 添加到 ~/.bashrc
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc

# 加载配置
source ~/.bashrc

# 验证
pyenv --version

三、安装 Python 版本

# 查看可安装版本
pyenv install --list

# 只看 CPython 版本
pyenv install --list | grep -E "^\s+3\."

# 安装指定版本
pyenv install 3.12.1
pyenv install 3.11.7
pyenv install 3.10.13

# 查看已安装版本
pyenv versions

四、版本切换

# 设置全局版本
pyenv global 3.12.1

# 设置项目级版本(创建 .python-version)
cd /opt/my-project
pyenv local 3.11.7

# 设置当前 Shell 临时版本
pyenv shell 3.10.13

# 查看当前版本
pyenv version
python --version

# 取消 shell 版本设置
pyenv shell --unset

五、Pyenv-virtualenv 插件

Pyenv-virtualenv 将 Pyenv 和虚拟环境管理结合,为每个项目创建隔离的 Python 环境:

# 安装插件(pyenv.run 脚本已包含)
# 如果需要手动安装:
git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv

# 添加到 ~/.bashrc
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bashrc
source ~/.bashrc

# 创建虚拟环境
pyenv virtualenv 3.12.1 my-project-env

# 激活虚拟环境
pyenv activate my-project-env

# 或设置为项目自动激活
cd /opt/my-project
pyenv local my-project-env

# 退出虚拟环境
pyenv deactivate

# 查看所有虚拟环境
pyenv virtualenvs

# 删除虚拟环境
pyenv virtualenv-delete my-project-env

六、项目实战

# 部署 Django 项目
pyenv install 3.12.1
pyenv virtualenv 3.12.1 django-project

cd /opt/django-app
pyenv local django-project

# 安装依赖
pip install django gunicorn psycopg2-binary
pip install -r requirements.txt

# 运行
gunicorn --bind 0.0.0.0:8000 mysite.wsgi:application

七、常用命令速查

pyenv install --list      # 查看可安装版本
pyenv install 3.12.1      # 安装版本
pyenv uninstall 3.10.13   # 卸载版本
pyenv versions            # 查看已安装版本
pyenv version             # 查看当前版本
pyenv global 3.12.1       # 设置全局版本
pyenv local 3.11.7        # 设置项目版本
pyenv shell 3.10.13       # 设置临时版本
pyenv which python        # 查看 python 路径
pyenv rehash              # 刷新 shims

# virtualenv 相关
pyenv virtualenv 3.12.1 env-name  # 创建虚拟环境
pyenv activate env-name           # 激活
pyenv deactivate                  # 退出
pyenv virtualenvs                 # 列出所有
pyenv virtualenv-delete env-name  # 删除

# 更新 pyenv
cd $(pyenv root) && git pull

八、与 venv 的区别

工具功能适用场景
Pyenv管理多个 Python 版本需要不同 Python 版本
venv创建项目级虚拟环境隔离项目依赖包
Pyenv + virtualenv版本管理 + 虚拟环境完整的 Python 环境管理

总结

Pyenv 是在搬瓦工 VPS 上管理多个 Python 版本的最佳工具。搭配 pyenv-virtualenv 插件可以同时管理版本和虚拟环境。对于只需要单版本 Python 的项目,内置的 venv 就足够了。如果需要管理多种语言,推荐通用工具 asdf。选购搬瓦工请访问 全部方案,使用优惠码 NODESEEK2026 享 6.77% 折扣,通过 bwh81.net 进入官网。

关于本站

搬瓦工VPS中文网(bwgvps.com)是非官方中文信息站,整理搬瓦工的方案、优惠和教程。我们不销售主机,不提供技术服务。

新手必读
搬瓦工优惠码

NODESEEK2026(优惠 6.77%)

购买时填入即可抵扣。