Win11怎么在PowerShell中优雅地管理和切换不同版本Python

老瑶大大_2276

老瑶大大_2276

2026-10-20

182人浏览

原创

在win11上通过禁用path自动添加、指定版本化安装路径、启用py启动器实现多python版本共存与路由,并用pyenv-win支持项目级版本锁定。

win11怎么在powershell中优雅地管理和切换不同版本python

你在Win11上同时装了Python 3.9、3.11和3.13,但每次想用某个版本都得手动改PATH或输完整路径,PowerShell里敲python永远只认一个版本——这不是你配置错了,而是缺一套真正适配Windows的版本路由机制。

禁用安装时自动注入PATH,从源头避免冲突

所有Python安装包默认勾选“Add Python to PATH”,这是多版本混乱的起点。必须在每一轮安装中主动拦截。

下载Python 3.9.16、3.11.9、3.13.2的Windows installer(64-bit)后,逐个运行安装程序:第一步就取消勾选“Add Python to PATH”;进入“Customize installation”后,再次确认“Add Python to environment variables”仍为未勾选状态;在“Advanced Options”页中,【务必手动指定安装路径为含版本号的独立目录,例如C:\Python\Python39\、C:\Python\Python311\、C:\Python\Python313\】。

完成安装后,进入C:\Python\Python39\目录,双击python.exe验证是否能正常启动交互式解释器——这一步不能跳过,有些精简版安装包会漏掉pythonw.exe,但只要python.exe存在且可运行,后续方案就完全可控。

启用Windows原生py启动器实现零配置路由

Win10/Win11系统已预装py启动器,它不依赖PATH顺序,而是通过注册表扫描已知安装路径,是微软官方推荐的多版本调度方案,优先级高于任何第三方工具。

打开任意PowerShell窗口,执行py --version。若返回版本信息(如Python 3.11.9),说明py启动器已就绪;若提示“命令未找到”,请重启电脑再试一次——极少数情况下系统服务延迟加载会导致首次检测失败。

执行py -0列出所有被识别的Python版本。你会看到类似输出:

-V:3.13 (64-bit)<br>-V:3.11 (64-bit)<br>-V:3.9 (64-bit)
。这意味着py已成功定位到你刚安装的三个版本。

现在可以直接用py -3.9调用Python 3.9,py -3.11调用3.11,py -3.13调用3.13。无需任何环境变量修改,也不需要重启终端。

361SCAN security check your skill python scripts
361SCAN security check your skill python scripts

扫描并分析已安装技能,用于查看指定技能目录的名称、描述和详情,或列出所有已安装的技能。

下载

验证pip归属:执行py -3.11 -m pip --version,输出中必须同时包含“python 3.11”字样和路径C:\Python\Python311\Scripts\pip.exe——如果路径指向其他版本目录,说明该版本pip被污染,需用py -3.11 -m ensurepip重装。

用pyenv-win实现项目级Python版本锁定

当你需要为某个特定项目(比如一个Django 4.2项目必须用Python 3.9)自动绑定解释器,而不是每次手动敲py -3.9,这时pyenv-win就派上用场了。

方法一:通过PowerShell管理员模式一键安装
以管理员身份打开PowerShell,执行:
Invoke-WebRequest -UseBasicParsing -Uri "https://raw.githubusercontent.com/pyenv-win/pyenv-win/master/pyenv-win/install-pyenv-win.ps1" -OutFile "./install-pyenv-win.ps1"; &"./install-pyenv-win.ps1"

方法二:使用scoop安装(适合已配置scoop用户)
先确保已安装scoop:irm get.scoop.sh | iex;再执行scoop install pyenv-win。

安装完成后,关闭所有PowerShell窗口(关键!环境变量需全新加载),重新打开一个普通PowerShell,执行pyenv --version。若看到类似pyenv 2.64.11的输出,说明安装成功。

第一步:让pyenv-win发现你已安装的Python版本
执行pyenv rehash,它会扫描C:\Python\目录下所有含版本号的子目录,并为每个python.exe生成shim代理文件。

第二步:查看可用版本列表
执行pyenv versions,应显示:

  3.9.16<br>  3.11.9<br>  3.13.2
(前面带空格表示已安装)。

第三步:为当前项目目录设置局部版本
进入你的Django项目根目录,执行pyenv local 3.9.16。这会在该目录下生成一个名为`.python-version`的纯文本文件,内容仅为3.9.16。此后只要在这个目录及子目录中打开PowerShell,python命令就会自动路由到Python 3.9.16。

Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!

相关专题

更多
python打包成可执行文件
python打包成可执行文件

本专题为大家带来python打包成可执行文件相关的文章,大家可以免费的下载体验。

2023.07.20

1771

4

python能做什么
python能做什么

python能做的有:可用于开发基于控制台的应用程序、多媒体部分开发、用于开发基于Web的应用程序、使用python处理数据、系统编程等等。本专题为大家提供python相关的各种文章、以及下载和课程。

2023.07.25

4624

7

format在python中的用法
format在python中的用法

Python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2023.07.31

1749

3

python教程
python教程

Python已成为一门网红语言,即使是在非编程开发者当中,也掀起了一股学习的热潮。本专题为大家带来python教程的相关文章,大家可以免费体验学习。

2023.08.03

27297

23

python环境变量的配置
python环境变量的配置

Python是一种流行的编程语言,被广泛用于软件开发、数据分析和科学计算等领域。在安装Python之后,我们需要配置环境变量,以便在任何位置都能够访问Python的可执行文件。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.08.04

3287

5

python eval
python eval

eval函数是Python中一个非常强大的函数,它可以将字符串作为Python代码进行执行,实现动态编程的效果。然而,由于其潜在的安全风险和性能问题,需要谨慎使用。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.08.04

3307

5

scratch和python区别
scratch和python区别

scratch和python的区别:1、scratch是一种专为初学者设计的图形化编程语言,python是一种文本编程语言;2、scratch使用的是基于积木的编程语法,python采用更加传统的文本编程语法等等。本专题为大家提供scratch和python相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.11

1203

5

python合并两个列表
python合并两个列表

Python是一种强大的编程语言,具有许多方便的功能和工具。在Python中,有多种方法可以合并两个列表。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.08.10

596

4

python是前端还是后端
python是前端还是后端

Python属于前端也属于后端,其灵活性和丰富的生态系统使得开发人员能够在不同的领域中灵活运用。本专题为大家提供python相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.11

2563

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Uvicorn官方安装与入门手册
Uvicorn官方安装与入门手册

共0课时 | 0人学习

Python uv官方项目管理指南
Python uv官方项目管理指南

共0课时 | 0人学习

Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习