Batch file 如何在Windows中设置默认Python版本?
我在Windows7上安装了Batch file 如何在Windows中设置默认Python版本?,batch-file,windows-7,environment-variables,python-2.6,python-3.1,Batch File,Windows 7,Environment Variables,Python 2.6,Python 3.1,我在Windows7上安装了python2.6和Python3.1,并设置了环境变量:path=d:\python2.6 当我在cmd中运行python时,它会显示python 2.6版,这正是我想要的 但是,当我在bat文件中编写脚本并运行它时,显示的python版本是3.1 import sys print (sys.version) 这里发生了什么?尝试修改windows注册表中的路径(HKEY\U LOCAL\U MACHINE\SYSTEM\CurrentContro
python2.6
和Python3.1
,并设置了环境变量:path=d:\python2.6
当我在cmd
中运行python
时,它会显示python 2.6版,这正是我想要的但是,当我在bat文件中编写脚本并运行它时,显示的python版本是3.1
import sys
print (sys.version)
这里发生了什么?尝试修改windows注册表中的路径(HKEY\U LOCAL\U MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment)
警告:不要破坏注册表:)Python安装程序将安装。此程序(
py.exe
)与Python文件扩展名关联,并查找“shebang”注释以指定要运行的Python版本。这允许许多版本的Python共存,并允许Python脚本显式指定要使用的版本(如果需要)。如果未指定,则默认为对当前体系结构(x86或x64)使用最新的Python版本。可以通过py.ini
文件或py_PYTHON
环境变量自定义此默认值。有关更多详细信息,请参阅
较新版本的Python更新了启动器。最新版本有一个py-0
选项来列出已安装的python并指示当前默认值
以下是如何从控制台检查启动器是否正确注册:
C:\>assoc .py
.py=Python.File
C:\>ftype Python.File
Python.File="C:\Windows\py.exe" "%1" %*
上面,.py
文件与Python.File
类型相关联。Python.File
的命令行是Python启动器,它安装在Windows目录中,因为它始终位于路径中
要使关联正常工作,请使用script.py
而不是“python script.py”从命令行运行脚本,否则将运行python
而不是py
。事实上,最好从路径中删除Python目录,这样“Python”就不会运行任何东西,也不会使用py
强制执行
py.exe
也可以使用开关运行,以强制使用Python版本:
py -3 script.py # select latest Python 3.X version to be used.
py -3.6 script.py # select version 3.6 specifically.
py -3.9-32 script.py # select version 3.9 32-bit specifically.
py -0 # list installed Python versions (latest PyLauncher).
另外,添加.py;。pyw;。pyc;。pyo
到PATHEXT
环境变量,然后命令行可以是script
,没有扩展名
HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Path\python.exe\default
.py
文件至python.exe
现在Python 3.3已经发布,使用py.exe实用程序最简单,如下所述: 它允许您使用UNIX风格的指令在脚本文件中指定Python版本。还有命令行和环境变量选项用于控制运行哪个版本的Python 获取此实用程序的最简单方法是安装Python 3.3或更高版本。 因此,在我的系统上,我在py.exe所在的
c:\windows\
下创建了一个py.ini
文件,包含以下内容:
[defaults]
python=3
现在,当您双击.py文件时,它将以新的默认版本运行。现在我只使用Shebang
#!python2
在我的旧脚本上。使用Windows CMD中的SET
命令临时设置当前会话的默认python
SET PATH=C:\Program Files\Python 3.5
上面的一切都不起作用,这就是我的作用:
ftype Python.File=C:\Path\to\python.exe "%1" %*
此命令应在以管理员身份启动的命令提示符下运行
警告:即使此命令中的路径设置为python35,如果安装了python36,它也会将默认值设置为python36。为了防止出现这种情况,您可以临时将文件夹名称从
Python36
更改为xxPython36
,运行命令,然后删除对Python36文件夹的更改 运行“py”命令将告诉您正在运行的版本。如果您当前正在运行3.x,并且需要切换到2.x,则需要使用开关'-2'
py -2
如果需要从Python2.x切换到Python3.x,则必须使用“-3”开关
py -3
如果希望将Python 3.x作为默认版本,则需要创建环境变量“PY_Python”,并将其值设置为3。这对我来说很有效:
去
挑选
Advanced system settings from the left panel
from Advanced tab click on Environment Variables
在“系统变量”部分中,搜索(如果不存在则创建))
设定
C:\Python27\;C:\Python27\Scripts;
或者你想要的版本
您需要重新启动CMD
如果仍然不起作用,您可能希望在PATH变量中只保留所需的版本。检查系统当前使用的版本:
python --version
将主文件夹位置(例如C/ProgramFiles)和脚本位置(C/ProgramFiles/Scripts)添加到系统的环境变量中。添加3.x版本和2.x版本
路径位置在环境变量中排序。如果要使用Python2.x,只需将Python2.x的路径放在第一位,如果要使用Python3.x,只需将3.x放在第一位
如果您同时安装了这两个版本,则会出现这种情况 转到
这台电脑->右键单击->单击属性->高级系统设置。
您将看到系统属性
。从这里导航到“高级”
选项卡->单击环境变量
您将看到用户变量的上半部分和系统变量的下半部分
检查系统变量
并双击路径
(编辑路径)
检查Python的路径(您希望运行Python 2.x或3.x),并将其移动到路径列表的顶部
重新启动命令提示符,现在当您检查Python的版本时,它应该正确显示所需的版本。这对我来说很有用。
如果要使用python3.6,必须将python3.6移到列表顶部
这同样适用于蟒蛇2.7
如果您想将2.7作为默认值,那么请确保移动python2.7
PYTHONPATH
C:\Python27\;C:\Python27\Scripts;
python --version
>>> Python 3.6