window 11 安装pyenv-win管理不同的版本的python

window 11 安装pyenv-win管理不同的版本的python

      • [一、pyenv-win 安装(Windows 系统)](#一、pyenv-win 安装(Windows 系统))
        • [方式 1:通过 Chocolatey 安装(推荐)](#方式 1:通过 Chocolatey 安装(推荐))
        • [方式 2:手动安装(无 Chocolatey 时)](#方式 2:手动安装(无 Chocolatey 时))
      • [二、pyenv-win 核心使用命令(和 NVM 高度相似)](#二、pyenv-win 核心使用命令(和 NVM 高度相似))
        • [1. 基础命令:查看版本 / 帮助](#1. 基础命令:查看版本 / 帮助)
        • [2. 安装指定 Python 版本](#2. 安装指定 Python 版本)
        • [3. 切换 Python 版本(核心)](#3. 切换 Python 版本(核心))
        • [4. 卸载 Python 版本](#4. 卸载 Python 版本)
        • [5. 其他实用命令](#5. 其他实用命令)
      • 三、常见问题与解决
      • 四、使用建议

一、pyenv-win 安装(Windows 系统)

pyenv-win 支持 手动安装包管理器安装(推荐 Chocolatey,更便捷),以下是两种方式的详细步骤:

方式 1:通过 Chocolatey 安装(推荐)

Chocolatey 是 Windows 包管理器,类似 Linux 的 apt/yum,先安装 Chocolatey 再装 pyenv-win:

  1. 安装 Chocolatey

    以「管理员身份」打开 PowerShell,执行以下命令:

shell 复制代码
Set-ExecutionPolicy Bypass -Scope Process -Force; \[System.Net.ServicePointManager]::SecurityProtocol = \[System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

验证安装:输入 choco -v,显示版本号则成功。

  1. 安装 pyenv-win

    继续在管理员 PowerShell 中执行:

shell 复制代码
choco install pyenv-win

安装完成后,关闭并重新打开所有终端(PowerShell/CMD),使环境变量生效。

方式 2:手动安装(无 Chocolatey 时)
  1. 下载源码

    访问 pyenv-win 官方仓库:https://github.com/pyenv-win/pyenv-win

    点击「Code」→「Download ZIP」,解压到指定目录(推荐 %USERPROFILE%\.pyenv,即 C:\Users\你的用户名\.pyenv)。

  2. 配置环境变量

  • 打开「系统属性 → 高级 → 环境变量」(Win+R 输入 sysdm.cpl → 高级 → 环境变量)。

  • 用户变量 中新增 / 修改:

    • 变量名:PYENV,变量值:%USERPROFILE%\.pyenv\pyenv-win

    • 变量名:PYENV_ROOT,变量值:%USERPROFILE%\.pyenv\pyenv-win

    • 变量名:PYENV_HOME,变量值:%USERPROFILE%\.pyenv\pyenv-win

  • 用户变量 → Path 中新增:

    • %PYENV%\bin

    • %PYENV%\shims

  • 点击「确定」保存,重启所有终端 生效。

  1. 验证手动安装

    打开 PowerShell/CMD,输入 pyenv --version,显示版本号(如 pyenv-win 3.1.1)则成功。

二、pyenv-win 核心使用命令(和 NVM 高度相似)

所有命令需在 PowerShell/CMD 中执行,核心流程:查看可安装版本 → 安装指定版本 → 切换版本 → 验证

1. 基础命令:查看版本 / 帮助
shell 复制代码
# 查看 pyenv-win 版本(验证安装)

pyenv --version

# 查看所有可用命令(帮助)

pyenv help
2. 安装指定 Python 版本
shell 复制代码
# 1. 查看所有可安装的 Python 版本(含2.x/3.x,筛选关键词可用 findstr)

pyenv install --list  # 列出全部

pyenv install --list | findstr "3.10"  # 只看3.10系列

# 2. 安装指定版本(如3.10.11,安装过程可能需要几秒到几分钟)

pyenv install 3.10.11

# 3. 验证已安装的版本

pyenv versions  # 输出带\*的是当前全局版本,如:

#   \* 3.10.11 (set by C:\Users\你的用户名\\.pyenv\pyenv-win\version)

#     3.9.18
3. 切换 Python 版本(核心)

pyenv-win 支持 全局版本 (系统默认)、局部版本 (当前目录生效)、临时版本(当前终端生效):

shell 复制代码
# 1. 设置全局版本(系统默认,重启终端仍生效)

pyenv global 3.10.11

# 2. 设置局部版本(当前目录生效,会生成 .python-version 文件,进入该目录自动切换)

pyenv local 3.9.18  # 比如项目目录下执行,仅该目录用3.9.18

# 3. 设置临时版本(仅当前终端生效,关闭终端失效)

pyenv shell 3.8.19

# 4. 验证当前版本

python --version  # 输出对应版本,如 Python 3.10.11
4. 卸载 Python 版本
复制代码
# 卸载指定版本(如3.9.18)

pyenv uninstall 3.9.18

# 确认卸载:执行 pyenv versions 查看,已无该版本则成功
5. 其他实用命令
复制代码
# 刷新 shims(版本切换后若生效异常,执行此命令)

pyenv rehash

# 查看当前版本的生效路径

pyenv which python  # 输出如:C:\Users\你的用户名\\.pyenv\pyenv-win\versions\3.10.11\python.exe

三、常见问题与解决

  1. 安装失败 / 命令找不到
  • 确认环境变量配置正确(%PYENV%\bin%PYENV%\shims 在 Path 中);

  • 重启终端 / 电脑,确保环境变量生效;

  • Chocolatey 安装后若提示「权限不足」,以管理员身份重新打开终端。

  1. 安装 Python 版本时卡住 / 报错
  1. 切换版本后 python --version仍显示系统版本
  • 执行 pyenv rehash 刷新 shims;

  • 检查系统 Path 中是否有其他 Python 路径(如 C:\PythonXX),将 %PYENV%\shims 移到 Path 最顶部;

  • 关闭所有终端,重新打开后验证。

四、使用建议

  1. 全局版本建议设为常用稳定版(如 3.10),项目目录用 pyenv local 设专属版本;

  2. 切换版本后,若 pip 版本不匹配,执行 pip --version 验证(pyenv-win 会自动关联对应版本的 pip);

  3. 避免同时安装 Anaconda 和 pyenv-win 时修改 PATH 优先级,优先保留 pyenv-win 的 shims 路径。

该文章由豆包生成,Amewin已测试,可以正常使用

相关推荐
lionliu05192 小时前
WebAssembly (Wasm)
java·开发语言·wasm
咸鱼加辣2 小时前
【java面试题】springboot的生命周期
java·开发语言·spring boot
weixin_462446232 小时前
用 Go 快速搭建一个 Coze (扣子)API 流式回复模拟接口(Mock Server)
开发语言·golang·状态模式
小鸡吃米…2 小时前
Python编程语言面试问题二
开发语言·python·面试
谁动了我的代码?3 小时前
QT<34> 利用线程池处理耗时任务以及回调函数的使用
开发语言·qt
柒.梧.3 小时前
数据结构:二叉排序树构建与遍历的解析与代码实现
java·开发语言·数据结构
李迟3 小时前
Golang实践录:接口文档字段转结构体定义
开发语言·golang
eve杭3 小时前
AI、大数据与智能时代:从理论基石到实战路径
人工智能·python·5g·网络安全·ai
徐同保3 小时前
js 点击按钮 把文本转成文件并下载下来
开发语言·javascript·ecmascript