一、背景
背景是我先前使用的是python 3.9并安装了许多的包,也有一些py脚本日常需要使用对应的环境,但是有时需要高版本的python,于是我安装了python 3.14。
但是实现迁移太麻烦了,且有两个版本的python一高一低,有时也有用,于是我决定让这两共存。
二、实现上使用Path环境变量
电脑中的用户的Path环境变量python配置如下

这里将旧python的放在上面,这样最先匹配到的就是python3.9,这样一些bat中的python 1.py等就可以不用修改即可继续在原环境下运行,导入原环境的包
这里不将python 3.9的Scripts目录加入到Path中而是使用新python虚拟环境中的Scripts目录,因为我想在任意终端使用pip都安装到新环境中,慢慢将使用的python重心放在新python上,旧python用于兼容旧脚本和以备不时之需
如果需要在终端中使用不同版本的python可使用如下命令进入python交互
其中'py'是Python的命令行启动器,它可以在Windows系统中同时存在多个Python版本时,方便地管理和调用各个版本的Python解释器。 在Windows 10及之后的版本中,'py'命令已经默认安装且可用。
实际上py可以指定版本(这些版本必须要在电脑上存在的)

三、pycharm虚拟环境
新建项目并选择项目venv环境

项目环境中使用包管理进行安包,这样好像不支持指定版本

于是使用python中的终端来安装包
使用where python 查看当前使用的python,可是没有输出
因为在 PowerShell 中,where 其实是 Where-Object 的别名,而不是 Windows CMD 下的 where.exe
正确查看需要用gcm python

或可使用Where.exe列出所有在环境变量路径中找到的 python.exe 文件路径

查看当前环境

查看匹配的python

通过结果可以看到
普通终端中比pycharm中少一个虚拟环境,普通终端中优先选中python3.9,pycharm中选中python3.14
可以使用pip list 查看当前环境下安装的包
