引言
Pyenv 简介
Pyenv 是一个用于管理多个 Python 版本的开源工具,允许你在同一台机器上轻松安装、切换和管理不同的 Python 版本,而不会产生冲突。最初由 Yoshinori Kawasaki 开发,现由 Python 社区维护,是 Mac 和 Linux 系统上最受欢迎的 Python 版本管理器之一。
核心功能
- 多版本共存:安装任意版本的 Python(官方 CPython、PyPy、Jython 等),支持最新 dev 版本、历史旧版本、预发布版本。
- 全局/局部版本切换:设置全局默认版本或为特定项目目录设置独立 Python 版本,Shell 临时版本可在当前终端会话切换。
- 版本隔离:所有 Python 版本安装在用户目录下,不影响系统 Python,无需 sudo 权限即可安装新版本,彻底避免破坏系统依赖。
- 插件生态:支持 pyenv-virtualenv 集成虚拟环境管理,pyenv-update 一键更新,pyenv-installer 简化安装流程。
Virtualenv 简介
Virtualenv 是一个用于创建隔离 Python 环境的工具,它能为每个项目生成独立的虚拟环境,使不同项目的依赖包互不干扰。每个虚拟环境都是一个包含独立 Python 解释器、库和脚本的目录。由 Ian Bicking 创建,是 Python 生态中最经典、最轻量的虚拟环境管理工具,至今仍是许多开发者的首选方案。
核心功能
- 依赖隔离:每个项目拥有独立的 site-packages 目录,不同项目可使用相同包的不同版本,彻底解决'依赖地狱'问题。
- 环境复制:通过 requirements.txt 轻松复制环境配置,支持跨平台、跨机器部署。
- 轻量纯粹:仅专注虚拟环境管理,功能单一,不绑定 Python 版本管理,速度快,占用资源少。
- 灵活配置:可选择继承或隔离系统全局包,支持自定义虚拟环境目录位置。
参考资料
安装
Pyenv 安装
通过 Git 安装
# 克隆 pyenv 仓库到本地电脑指定目录
git clone https://github.com/pyenv/pyenv.git /Users/woniu/GitHub/pyenv
配置环境变量
# 配置环境变量(zsh 示例)
echo 'export PYENV_ROOT="/Users/woniu/GitHub/pyenv"' >> ~/.zshrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'export PATH="$PYENV_ROOT/shims:$PATH"' >> ~/.zshrc
>> ~/.zshrc
~/.zshrc

