In brief:
我安装了两个版本的Python。Python 3.6 和 Python 3.9。
我想用 Python Launcher for Windows 打开我所有的
.py
和
.pyw
(例如:当我双击它们时)。我希望 Python launcher for Windows 的默认版本是 Python 3.6,这样,没有 shebang 的文件就会用 Python 3.6 打开。Python 3.9 应该只用于带有 shebang 的文件
#! python3.9
。
当我右击一个文件,选择
open with
并选择
C:\Windows\py.exe
,那么默认情况下(没有任何shebang),打开的是Python 3.9。
当我在一个
CMD
中输入
py
时我得到
Python 3.6.5
。
But if I double click on
C:\Windows\py.exe
the console is
Python 3.9.5
.
我如何确保如果我设置
open all .py' to
C:\Windows\py.exe
, then if they don't have a sheband they will be started with
Python 3.6.5`?
在细节方面:
我以前只在Python 3.6上运行,直到我把Python 3.9安装在旁边。我还没有把所有的软件包更新到Python 3.9,所以我希望默认的Python是3.6。对于我需要使用Python 3.9的脚本,我使用shebang
#! python3.9
。
所以我想把
Opens with...
的默认值设置为
C:\Windows\py.exe
,但如果我这样做,我的脚本是在
Python 3.9.5
中打开的,所以它们失败了。
我已经做了什么。
我已经创建了一个
C:\Windows\py.ini
,默认设置为
python=3.6
(对
pyw
也是如此)。
在路径上,我已将
C:\Users\user\AppData\Local\Programs\Python\Python36\
移至
C:\Users\user\AppData\Local\Programs\Python\Python39
之上。
我已经将另一个环境变量
PY_PYTHON
设置为
PY_PYTHON=3.6
。
I have run
assoc .py=Python
The
Windows文档
说
The py.exe launcher will automatically select the most recent version of Python you've installed
,所以我重新安装了Python 3.6(在已经安装了Python 3.9之后),但是,当我用
C:\WINDOWS\py.exe
打开一个文件时,仍然默认设置为Python 3.9。
ftype | find "Python"
return this
Python.ArchiveFile="C:\WINDOWS\py.exe" "%L" %*
Python.CompiledFile="C:\WINDOWS\py.exe" "%L" %*
Python.File="C:\WINDOWS\py.exe" "%L" %*
Python.NoConArchiveFile="C:\WINDOWS\pyw.exe" "%L" %*
Python.NoConFile="C:\WINDOWS\pyw.exe" "%L" %*
我使用的是Windows 10