当我们在使用python做项目,开发程序的时候,因为依赖库的问题,可能需要使用不用的python版本,那我们有什么切换python版本的办法呢?
一、py和python的区别
在开始之前,我们要搞懂两个东西:py和python。
我们在安装Python时,会看到py launcher这个选项,这个就是py。
对比如下表: py只用于Windows中,可在powershell里通过py来运行python代码,而python则是一些ide会去指定使用的,在开发中,要关注python的路径。
命令 | 功能定位 | 适用场景 | 路径 | 依赖性 |
---|---|---|---|---|
python | 直接调用系统环境变量中的 Python 解释器 | 指向具体的 Python 安装版本(如 python.exe ) | 对应具体安装路径下的 python.exe (如 C:\Python39\python.exe ) | 依赖环境变量 PATH 的配置,若未正确配置可能导致命令无法识别 |
py | Python 启动器(Python Launcher) | 自动检测或指定多版本 Python 环境 | 位于系统目录(如 C:\Windows\py.exe ),独立于 Python 安装 | 无需依赖 PATH ,始终可用,自动扫描所有已安装的 Python 版本,通过注册表记录安装信息 |
py的路径为:
PS D:\> where.exe py
C:\Windows\py.exe
python的路径为:你安装时选择的路径
PS D:\> where.exe python
F:\Program Files\Python\Python311\python.exe
F:\Program Files\Python\Python313\python.exe
F:\Program Files\Python\Python39\python.exe
二、列出python版本
当我们安装了python之后,可以通过py --list查看现在的版本
PS C:\WINDOWS\system32> py --list-V:3.13 * Python 3.13 (64-bit)-V:3.11 Python 3.11 (64-bit)-V:3.9 Python 3.9 (64-bit)
安装了三个版本。
星号标记当前系统的 默认 Python 版本,即直接执行 py
时自动调用的版本。
三、查看版本号
通过python --version,可以查看版本号,通过PATH路径指定的当前工作版本
PS D:\> python --version
Python 3.13.2
四、使用 py
命令临时切换版本
命令:py -版本号 file.py
4.1 新建一个base.py文件
import sys
# print("当前Python版本:", sys.version)
version = sys.version_info
print(f"Python主版本:{version.major}.{version.minor}.{version.micro}")
# 输出示例:Python主版本:3.12.0(具体值取决于实际环境)
4.2 指定版本运行
PS D:\work\python\Base> py -3.13 base.py
Python主版本:3.13.2
PS D:\work\python\Base> py -3.11 base.py
Python主版本:3.11.9
这种方式是临时的,可以在powershell里运行代码。
五、修改环境变量永久切换版本
通过调整path路径的排序来决定python使用的是哪个版本。
- 打开系统环境变量设置(
Win + R
→ 输入sysdm.cpl
→ 选择“高级” → 环境变量)。 - 2 在
Path
中调整 Python 路径的优先级: - 3 把需要设置为当前的路径放到其他python路径之前,比如我把11的设置为默认路径
- 再次查看已经修改了
PS D:\> python --version Python 3.11.9
六、创建虚拟环境的方式
我们可以使用py来给创建虚拟环境,使用虚拟环境就是可以脱离实际的各种依赖,在虚拟环境中就没有安装好的各种包。一个新的环境方便验证问题。
py -3.9 -m venv F:\python\venv\venv39
然后激活虚拟环境即可
PS F:\python\venv> .\venv39\Scripts\activate
(venv39) PS F:\python\venv> python --version
Python 3.9.0
七、trae选择python版本的方式
在右下角进行选择
这里的Global指的就是py里默认的版本,我们可以自己手动选择就可以了。
或者,手动 手动选择创建一个虚拟环境