Windows终端中如何使用指定Python版本运行程序
Windows终端中如何使用指定Python版本运行程序
嗨,我来帮你搞定这个问题!在Windows上切换指定Python版本确实和Linux的玩法不一样,毕竟咱们的Python可执行文件都叫python.exe,不过有几个简单实用的方法能解决你的需求:
方法一:用Python自带的Py Launcher(最推荐)
Windows上安装Python的时候,默认会装上一个Py Launcher(就是你用的py命令),它专门用来管理多个Python版本,直接通过参数指定版本就行:
py -3.11 .\main.py
如果想确认系统里的所有Python版本,可以先运行py -0,它会列出所有可识别的版本号,这样你就能准确指定啦。
方法二:直接指定Python3.11的完整路径
如果Py Launcher不好使,或者你想直接调用特定版本的exe,就找到Python3.11的安装目录,用完整路径运行:
比如你的Python3.11装在C:\Users\你的用户名\AppData\Local\Programs\Python\Python311里,那就执行:
C:\Users\你的用户名\AppData\Local\Programs\Python\Python311\python.exe .\main.py
找不到路径的话,可以右键桌面的Python3.11快捷方式→属性,看「目标」栏里的路径就是啦。
方法三:临时/永久设置默认版本(适合经常用3.11的情况)
- 临时生效:在当前终端窗口里执行这条命令,之后用
py或者python就默认启动3.11了,关闭终端就失效:set PY_PYTHON=3.11 - 永久生效:右键「此电脑」→属性→高级系统设置→环境变量,在「系统变量」里新建一个变量,变量名
PY_PYTHON,变量值3.11,确定后重启终端就生效了。
为啥Linux的python3.11 .\main.py不好使?因为Windows里各个Python版本的可执行文件都叫python.exe,PATH里哪个版本的路径排在前面就会先被调用,不像Linux会把不同版本命名成python3.11、python3.12这种区分开的名字~
备注:内容来源于stack exchange,提问作者Sergio




