当前位置: 代码网 > it编程>前端脚本>Python > python版本切换工具pyenv的安装及用法

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

2025年12月10日 Python 我要评论
pyenv 是什么?官网python 的版本切换工具python 的 pyenv 相当于 node 的 nvm。它可以让你:安装多个 python 版本在项目中指定特定版本自动切换版本,不影响系统环境

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

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com