pyenv 是一个 Python 版本管理工具,可在同一机器上轻松切换不同 Python 版本。它通过修改环境变量在用户层面生效,支持为项目设置独立版本,不干扰系统默认 Python。使用 pyenv install 可安装多个版本,pyenv global 设置全局版本,pyenv local 为特定项目指定版本。安装后需配置 shell 环境变量并加载初始化脚本。pyenv 可与 venv、pipenv 等虚拟环境工具结合使用,实现版本与依赖的双重隔离,有效解决多项目版本冲突问题。

在开发 Python 项目时,不同项目可能依赖不同版本的 Python,比如一个老项目需要 Python 3.8,而新项目想尝试 Python 3.12。直接使用系统默认的 Python 版本很容易造成冲突。这时,pyenv 就是一个非常实用的工具,它能让你在同一台机器上轻松管理多个 Python 版本,并按需切换。
什么是 pyenv?
pyenv 是一个 Python 版本管理工具,它通过修改环境变量,在用户层面切换不同版本的 Python,不需要动系统自带的 Python。它的优点包括:
- 支持安装多个 Python 版本
- 可为每个项目设置独立的 Python 版本
- 不依赖虚拟环境,但可与 venv、pipenv、poetry 等配合使用
- 轻量、简单、跨平台(macOS/Linux)
安装 pyenv
推荐使用 pyenv-installer 脚本来安装,简单方便:
curl https://pyenv.run | bash
这个脚本会自动安装 pyenv 及其常用插件(如 pyenv-virtualenv)。安装完成后,需要将 pyenv 加入 shell 配置文件中。根据你使用的 shell(bash/zsh),编辑对应文件:
立即学习“Python免费学习笔记(深入)”;
- 如果是 zsh(macOS 默认):编辑 ~/.zshrc
- 如果是 bash:编辑 ~/.bashrc
添加以下内容:
export PYENV_ROOT="$HOME/.pyenv" export PATH="$PYENV_ROOT/bin:$PATH" eval "$(pyenv init -)"
保存后运行:
source ~/.zshrc
然后输入 pyenv,如果看到帮助信息,说明安装成功。
使用 pyenv 安装和切换 Python 版本
查看可安装的 Python 版本:
pyenv install --list
安装你需要的版本,例如:
SmartB2B 是一款基于PHP、MySQL、Smarty的B2B行业电子商务网站管理系统,系统提供了供求模型、企业模型、产品模型、人才招聘模型、资讯模型等模块,适用于想在行业里取得领先地位的企业快速假设B2B网站,可以运行于Linux与Windows等多重服务器环境,安装方便,使用灵活。 系统使用当前流行的PHP语言开发,以MySQL为数据库,采用B/S架构,MVC模式开发。融入了模型化、模板
pyenv install 3.9.18 pyenv install 3.11.6 pyenv install 3.12.0
安装完成后,查看已安装的版本:
pyenv versions
你会看到类似输出:
* system (set by /home/user/.pyenv/version) 3.9.18 3.11.6 3.12.0
设置全局默认版本:
pyenv global 3.11.6
或者为某个项目单独设置版本。进入项目目录:
cd my-old-project pyenv local 3.9.18
这样,进入这个目录时会自动使用 Python 3.9.18,退出则恢复全局设置。
结合虚拟环境更高效
pyenv 管理的是 Python 解释器版本,而项目依赖建议用虚拟环境隔离。你可以配合 python -m venv 使用:
pyenv local 3.11.6 python -m venv venv source venv/bin/activate
这样既固定了 Python 版本,又隔离了依赖包,避免污染全局环境。
基本上就这些。pyenv 不复杂,但解决了多版本共存的大问题。只要花十分钟配置好,以后换项目再也不用担心版本不兼容。









