如何使PATH快捷方式工作

我在Windows上有两个版本的Python,并希望通过cmd使用它们。 我试图做出他们的python.exe快捷方式,并将它们重命名为python26python33 (我也将他们的位置添加到PATH ),但不幸的是,这不工作。 调用python26python26.lnk输出not recognized as an internal command

有没有其他的方式来做到这一点(如Linux的virtualenv),或者我错过了我的想法?

Solutions Collecting From Web of "如何使PATH快捷方式工作"

C:\imagaginary_path\下创建一个新的.bat文件,并将其命名为python2.bat
在bat文件中写入:

 C:\Python26\python.exe %* 

然后在C:\imagaginary_path\下创建另一个,并将其命名为python3.bat
内容:

 C:\Python33\python.exe %* 

现在从PATH删除C:\Python26\C:\Python33\ ,并把C:\imaginary_path\放在你的PATH变量中。

在那里,Windows将.bat文件视为可执行文件,现在您可以调用python2 test.py现在,每次按Ctrl + C时都会得到一个提示“Terminate batch job?”的提示。 这是一种恼人的,有几个替代品,以解决这个问题,一个是你编辑你的python2.bat看起来像:

 start C:\Python26\python.exe %* 

正如其他人所说,创建一个批处理文件工作正常。 但是如果你仍然想使用正常的快捷键( .lnk文件),你可以修改PATHEXT环境变量来包含.LNK 。 这个变量告诉Windows当通过PATH变量进行搜索时,哪些扩展名被视为可执行文件。

例如,在创建一个快捷方式并将其文件夹添加到PATH ,这将起作用:

 C:\>python27 'python27' is not recognized as an internal or external command, operable program or batch file. C:\>echo %PATHEXT% .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC C:\>set PATHEXT=%PATHEXT%;.LNK C:\>python27 Python 2.7.5 (default, May 15 2013, 22:43:36) [MSC v.1500 32 bit (Intel)] on win 32 Type "help", "copyright", "credits" or "license" for more information. >>> ^Z C:\> 

您也可以使用Windows路径:

设置路径= C:\ Python26; ...; C:\ windows; C:\ windows \ system32
提示$&开始标题Python26

将其另存为Py26.bat并在显示的屏幕中输入Python

设置路径= C:\ Python33;;;; C:\ Windows; C:\ windows \ system32
提示$&开始标题Python33

将其另存为Py33.bat,然后在显示的屏幕中输入Python

而不是创建快捷方式,你可以做的是改变python.exe本身的名称。

因此,您可以将C:\ Python26 \中的python.exe重命名为“python2”,将C:\ Python33 \中的python.exe重命名为“python3”。 鉴于目前大部分的Python代码都在<Python3中,所以有效的替代方法是将Python 3.3 python.exe文件改为“python3”,并保持Python 2.6不变。 这样,你就可以指定你是否想用python3来运行某些东西。

现在编辑%PATH%环境变量以包括C:\ Python26 \和C:\ Python33。

例:

 python3 chunky_bacon_FTW.py 

会运行使用Python3.3。