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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python开发的小球完全弹性碰撞游戏代码

    python开发的小球完全弹性碰撞游戏代码

    这篇文章主要介绍了通过python开发的一个小球完全弹性碰撞游戏效果,特分享下
    2013-10-10
  • 终于明白tf.reduce_sum()函数和tf.reduce_mean()函数用法

    终于明白tf.reduce_sum()函数和tf.reduce_mean()函数用法

    这篇文章主要介绍了终于明白tf.reduce_sum()函数和tf.reduce_mean()函数用法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • 解决python绘图使用subplots出现标题重叠的问题

    解决python绘图使用subplots出现标题重叠的问题

    这篇文章主要介绍了python绘图使用subplots出现标题重叠的问题及解决方法,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • Python中的a=value1 or value2详解

    Python中的a=value1 or value2详解

    Python中的`a=valueor0`是一种简洁的方式来为变量提供默认值,利用了Python的布尔上下文和短路求值机制,如果`value`是“真值”,则`a`被赋值为`value`;如果`value`是“假值”,则`a`被赋值为0
    2024-12-12
  • Python读写zip压缩文件的方法

    Python读写zip压缩文件的方法

    Python自带模块zipfile可以完成zip压缩文件的读写,而且使用非常方便,下面我们就来演示一下Python读写zip文件的实例代码,需要的朋友参考下吧
    2018-08-08
  • Python+tkinter实现动态连接数据库

    Python+tkinter实现动态连接数据库

    在使用 Tkinter (tk) 开发 GUI 程序时,可以通过多种方式让用户自由更改数据库连接地址,本文主要介绍了三种常用方法,感兴趣的小伙伴可以了解下
    2025-03-03
  • Python中staticmethod和classmethod的作用与区别

    Python中staticmethod和classmethod的作用与区别

    今天小编就为大家分享一篇关于Python中staticmethod和classmethod的作用与区别,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-10-10
  • python中scikit-learn机器代码实例

    python中scikit-learn机器代码实例

    这篇文章给大家分享了关于python中scikit-learn机器的代码实例内容,有兴趣的朋友跟着小编测试下。
    2018-08-08
  • python画环形图的方法

    python画环形图的方法

    这篇文章主要为大家详细介绍了python画环形图的相关代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • PyCharm连接远程服务器配置的全过程

    PyCharm连接远程服务器配置的全过程

    这篇文章主要介绍了PyCharm连接远程服务器配置的全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06

最新评论