python版本切换工具pyenv的安装及用法

 更新时间:2025年12月10日 10:57:01   作者:Lvan的前端笔记  
Pyenv是管理 Python 版本的最佳工具之一,特别适合开发者和需要切换多个Python版本的用户,这篇文章主要介绍了python版本切换工具pyenv安装及用法的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下

Pyenv 是什么?

官网

python 的版本切换工具

python 的 Pyenv 相当于 node 的 nvm。

它可以让你:

  • 安装多个 Python 版本
  • 在项目中指定特定版本
  • 自动切换版本,不影响系统环境
  • 兼容 macOS / Linux

它不会替你管理虚拟环境,但可以与 venv / Poetry 完美结合。

安装 Pyenv(macOS)

使用 Homebrew:

brew update
brew install pyenv

配置 shell(zsh 为例)

编辑 ~/.zshrc,加入:

export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

重新加载配置:

source ~/.zshrc

完成 🎉

安装一个 Python 版本

比如安装当前最稳定的 Python 3.11:

pyenv install 3.11.7

查看已安装版本:

pyenv versions

在项目中设置 Python 版本(强烈推荐)

进入项目目录:

cd my-ai-project
pyenv local 3.11.7

这会自动生成:

.python-version

以后进入这个目录时,会自动切换到 3.11.7,这就像 Node 中的:

.nvmrc

设置全局默认 Python 版本

pyenv global 3.11.7

一般不推荐,除非你已经使用 pyenv 接管全部 Python。

搭配虚拟环境使用(最佳实践)

使用 venv

python3 -m venv .venv
source .venv/bin/activate

使用 Poetry(更现代)

poetry init
poetry install

Poetry 会自动读取 pyenv 的 Python 版本。

pyenv 常用命令总结

命令作用
pyenv install -l查看可安装的 Python 版本
pyenv install 3.11.7安装指定版本
pyenv versions查看已安装版本
pyenv local 3.11.7设置项目 Python 版本
pyenv global 3.11.7设置全局 Python 版本
pyenv uninstall 3.11.7卸载版本
pyenv which python查看当前可用 Python 路径

Pyenv 的实现原理(简单讲)

Pyenv 使用了一个非常巧妙的机制:

Shims(垫片)机制

它在你的 PATH 前面放置一个目录:

~/.pyenv/shims

里面放置 python, pip 等可执行文件的“代理”,

当你调用 python 时:

  1. 先查 .python-version
  2. 找出对应 Python 版本
  3. 调用真实 Python 而不是系统 Python

这和 nvm 的原理几乎一样。

Pyenv + Poetry + pipx:最强组合

你可以这样搭配:

工具作用
pyenv管理 Python 版本(像 nvm)
poetry管理项目依赖 & 虚拟环境(像 pnpm + package.json)
pipx管理全局 CLI 工具安装(像 npm global install 的替代)

这套组合可打造行业内最干净、可维护的 AI/后端开发环境。

到此这篇关于python版本切换工具pyenv的安装及用法的文章就介绍到这了,更多相关python版本切换工具pyenv内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • PyTorch中Tensor的维度变换实现

    PyTorch中Tensor的维度变换实现

    这篇文章主要介绍了PyTorch中Tensor的维度变换实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • Python安装模块的常见问题及解决方法

    Python安装模块的常见问题及解决方法

    下面小编就为大家分享一篇Python安装模块的常见问题及解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-02-02
  • 如何理解python对象

    如何理解python对象

    在本篇文章里小编给大家分享的是一篇关于python对象的理解相关内容,有兴趣的朋友们可以学习下。
    2020-06-06
  • Python中实现接口的三种方式深度解析

    Python中实现接口的三种方式深度解析

    这篇文章详细介绍了Python中实现接口的三种方式,文章对比了ABC和Protocol的核心区别,并提供了实战选型建议,本文结合实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2026-02-02
  • Python编程之黑板上排列组合,你舍得解开吗

    Python编程之黑板上排列组合,你舍得解开吗

    这篇文章主要介绍了Python排列组合算法的相关内容,具有一定参考价值,需要的朋友可以了解下。
    2017-10-10
  • Python通过跳板机访问数据库的方法

    Python通过跳板机访问数据库的方法

    跳板机是一类可作为跳板批量操作的远程设备的网络设备,是系统管理员和运维人员常用的操作平台之一。本文给大家介绍Python通过跳板机访问数据库的方法,感兴趣的朋友跟随小编一起看看吧
    2021-10-10
  • Pandas缺失值删除df.dropna()的使用

    Pandas缺失值删除df.dropna()的使用

    本文主要介绍了Pandas缺失值删除df.dropna()的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • Python中最强大的重试库Tenacity使用探索

    Python中最强大的重试库Tenacity使用探索

    这篇文章主要为大家介绍了Python中最强大的重试库Tenacity使用探索,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • python聚类算法选择方法实例

    python聚类算法选择方法实例

    在本篇文章里小编给大家整理的是一篇关于python聚类算法选择方法实例,有需要的朋友们可以学习参考下。
    2021-07-07
  • Python Pycurl的属性与方法案例详解

    Python Pycurl的属性与方法案例详解

    这篇文章主要介绍了Python Pycurl的属性与方法案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-09-09

最新评论