pyenv可轻松管理多版本Python,支持安装、切换及局部环境配置。通过pyenv install安装指定版本,如3.9.18;用pyenv global/local/shell设置全局、项目或会话级版本;结合pyenv virtualenv创建隔离环境,避免依赖冲突。安装前需确保系统依赖完整,并将pyenv初始化代码添加到shell配置文件中。

在开发中,不同项目可能依赖不同版本的 Python,使用 pyenv 可以轻松管理多个 Python 版本。它让你在系统中安装、切换和使用特定版本的 Python,而不会影响全局环境。以下是使用 pyenv 安装和管理不同 Python 版本的实用技巧。
安装 pyenv
在开始之前,确保你的系统已安装必要的编译工具和依赖库。以下是在 macOS 和常见 Linux 发行版上的安装方式:
- macOS:使用 Homebrew 执行 brew install pyenv
- Linux(如 Ubuntu):可通过 pyenv 官方安装脚本一键安装
运行以下命令自动安装:
curl https://pyenv.run | bash
立即学习“Python免费学习笔记(深入)”;
安装完成后,将 pyenv 添加到 shell 配置文件(如 ~/.zshrc 或 ~/.bashrc):
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
查看可安装的 Python 版本
使用 pyenv 列出所有可安装的 Python 版本:
pyenv install --list
这个列表很长,你可以通过 grep 筛选特定版本,比如:
pyenv install --list | grep "3.9"
注意:带有 anaconda、pypy 的是其他发行版,普通 Python 版本以数字开头。
安装指定版本的 Python
安装某个具体版本,例如 Python 3.9.18:
pyenv install 3.9.18
如果安装失败,可能是缺少系统依赖。Ubuntu 用户可尝试安装:
sudo apt update && sudo apt install -y make 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 git
安装成功后,可用以下命令查看已安装的版本:
ShopNC单用户商城系统是面向独立卖家而开发的B2C商城系统。系统运行稳定高效,功能强大,突出个性化配置要求,可以根据不同的营销策略,从模板、栏目、功能上进行调整,满足各类客户的需要。系统部署快捷方便,减轻了使用者的技术负担,简单的维护操作免去了用户的后顾之忧。本系统前台开放源码,后台加密的。产品特点快速安装,维护简单 分布提示安装,即使不熟悉技术的用户也可以自主安装系统。后台融合数据库等功能管
pyenv versions
设置 Python 版本的作用域
pyenv 支持三种级别的版本设置:
- global:全局默认版本,适用于整个用户环境
pyenv global 3.9.18 - local:针对当前项目目录,生成 .python-version 文件
pyenv local 3.8.10 - shell:仅在当前终端会话生效
pyenv shell 3.11.5
当你进入一个包含 .python-version 文件的项目目录时,pyenv 会自动切换到指定版本,这对团队协作非常有用。
配合 virtualenv 使用更高效
pyenv 可与 pyenv-virtualenv 插件结合,创建隔离的虚拟环境:
创建基于指定 Python 版本的虚拟环境:
pyenv virtualenv 3.9.18 myproject-3.9
激活该环境:
pyenv activate myproject-3.9
停用:
pyenv deactivate
删除环境:
pyenv virtualenv-delete myproject-3.9
这样你可以在同一 Python 版本下为不同项目创建独立依赖环境。
基本上就这些。熟练使用 pyenv 后,切换 Python 版本就像切换目录一样简单。关键是理解 local、global 和 shell 的作用范围,并结合 virtualenv 避免依赖冲突。不复杂但容易忽略细节,比如依赖库缺失或 shell 配置未生效。安装前准备好依赖,用好 .python-version 文件,能省去很多麻烦。









