Python 环境管理工具 pyenv-win (windows版本)

Python 的环境管理通常分为两个维度:版本管理(切换 Python 3.10, 3.12 等)和 虚拟环境管理(隔离不同项目的第三方包)。

我想要一个和 nvm 逻辑一模一样的工具,pyenv 是首选。它专注于 Python 版本的安装和切换。

  • 核心功能:安装多个 Python 版本,并通过一行命令全局或针对某个目录切换版本。

  • 常用命令:

    复制代码
    pyenv install 3.11.0:安装指定版本。
    
    pyenv global 3.11.0:设置全局默认版本。
    
    pyenv local 3.10.0:当你在某个文件夹下,自动切换到该版本。
  • 适用场景:纯粹的 Python 版本管理,不涉及项目依赖管理。


原生的 pyenv 是专门为 Unix/Linux/macOS 设计的(基于 Shell 脚本)。在 Windows 环境下,此处需要使用它的移植版:pyenv-win

Windows 安装


1. 执行脚本前的准备

如果这是你第一次在 PowerShell 执行下载脚本,可能会遇到权限拦截。建议在运行你那行命令之前,先执行以下语句:

powershell 复制代码
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

为什么要这么做? > Windows 默认禁止运行未签名的本地脚本。这行命令会允许你运行自己下载的脚本,仅针对当前用户,比较安全。


2. 执行安装命令

powershell 复制代码
Invoke-WebRequest -UseBasicParsing -Uri "https://raw.githubusercontent.com/pyenv-win/pyenv-win/master/pyenv-win/install-pyenv-win.ps1" | [System.IO.File]::WriteAllLines("$HOME\install-pyenv-win.ps1", $input); & "$HOME\install-pyenv-win.ps1"

3. 环境变量检查

脚本跑完后,它通常会尝试自动修改环境变量。但 pyenv-win 在 Windows 上最容易出问题的地方就是路径优先级。

请按照以下步骤检查,确保 pyenv 拥有"最高统治权":

  1. 在 Windows 搜索框输入 "环境变量" 并打开。
  2. "用户变量" 中找到 Path,双击进入。
  3. 确保以下两个路径排在列表的最顶端 (甚至要高于你之前安装的任何 Python 路径):
    • %USERPROFILE%\.pyenv\pyenv-win\bin
    • %USERPROFILE%\.pyenv\pyenv-win\shims

4. 验证安装

关闭所有当前的 PowerShell/CMD 窗口,重新打开一个,然后输入:

powershell 复制代码
pyenv --version

如果返回版本号,安装成功!

5. 记录执行过程

bash 复制代码
PS C:\Users\admin> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
PS C:\Users\admin> Invoke-WebRequest -Uri "https://raw.githubusercontent.com/pyenv-win/pyenv-win/master/pyenv-win/install-pyenv-win.ps1" -OutFile "$HOME\install-pyenv-win.ps1"
PS C:\Users\admin> & "$HOME\install-pyenv-win.ps1"


    目录: C:\Users\admin


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----          2026/4/3     22:43                .pyenv
pyenv-win is successfully installed. You may need to close and reopen your terminal before using it.

安装python版本

1. 安装 Python 3.13

请在终端输入以下命令:

复制代码
pyenv install 3.13.0

记录执行过程

bash 复制代码
PS C:\Users\admin> pyenv --version
pyenv 3.1.1
PS C:\Users\admin> pyenv install 3.13.0  # 安装3.13.0版本
:: [Info] ::  Mirror: https://www.python.org/ftp/python
:: [Info] ::  Mirror: https://downloads.python.org/pypy/versions.json
:: [Info] ::  Mirror: https://api.github.com/repos/oracle/graalpython/releases
:: [Downloading] ::  3.13.0 ...
:: [Downloading] ::  From https://www.python.org/ftp/python/3.13.0/python-3.13.0-amd64.exe
:: [Downloading] ::  To   C:\Users\admin\.pyenv\pyenv-win\install_cache\python-3.13.0-amd64.exe
:: [Installing] ::  3.13.0 ...
:: [Info] :: completed! 3.13.0
PS C:\Users\admin>
PS C:\Users\admin> python --version
No global/local python version has been set yet. Please set the global/local version by typing:
pyenv global 3.7.4
pyenv local 3.7.4
PS C:\Users\admin>

2. 激活Python 3.13

请在终端输入以下命令:

bash 复制代码
# 将 3.13.0 设置为全局默认版本
pyenv global 3.13.0

# 刷新状态
pyenv rehash

执行记录

bash 复制代码
PS C:\Users\admin> python --version
No global/local python version has been set yet. Please set the global/local version by typing:
pyenv global 3.7.4
pyenv local 3.7.4
PS C:\Users\admin>
PS C:\Users\admin> pyenv global 3.13.0
PS C:\Users\admin>
PS C:\Users\admin> pyenv rehash
PS C:\Users\admin>
PS C:\Users\admin> python --version
Python 3.13.0
PS C:\Users\admin>
PS C:\Users\admin>

注意事项

如果你以后有一个旧项目需要用 Python 3.10,而你刚好也用 pyenv install 3.10.x 装好了,你可以进入那个项目文件夹执行:

pyenv local 3.10.x

这样当你在这个文件夹里运行 python 时,它是 3.10;一旦离开这个文件夹,它又变回全局默认的 3.13.0 了。这就是 pyenv 最强大的地方!

相关推荐
其实防守也摸鱼1 天前
GDB安装与配置(保姆级教程)【Linux、Windows系统】
linux·运维·windows·命令模式·工具·虚拟机·调试
kishu_iOS&AI1 天前
深度学习 —— 损失函数
人工智能·pytorch·python·深度学习·线性回归
好运的阿财1 天前
OpenClaw工具拆解之canvas+message
人工智能·python·ai编程·openclaw·openclaw工具
wengqidaifeng1 天前
python启航:1.基础语法知识
开发语言·python
观北海1 天前
Windows 平台 Python 极简 ORB-SLAM3 Demo,从零实现实时视觉定位
开发语言·python·动态规划
FreakStudio1 天前
做了个Claude Code CLI 电子宠物:程序员的实体监工代码搭子
python·单片机·嵌入式·面向对象·并行计算·电子diy·电子计算机
柴米油盐那点事儿1 天前
python+mysql+bootstrap条件搜索分页
python·mysql·flask·bootstrap
AC赳赳老秦1 天前
OpenClaw二次开发实战:编写专属办公自动化技能,适配个性化需求
linux·javascript·人工智能·python·django·测试用例·openclaw
Ulyanov1 天前
《PySide6 GUI开发指南:QML核心与实践》 第二篇:QML语法精要——构建声明式UI的基础
java·开发语言·javascript·python·ui·gui·雷达电子对抗系统仿真
刀法如飞1 天前
一款Python语言Django框架DDD脚手架,助你快速搭建项目
python·ddd·脚手架