如何从PATH中创建快捷方式

时间:2013-10-09 09:15:13

标签: python windows path

我在Windows上有两个版本的Python,并希望通过cmd使用它们。我尝试制作python.exe的快捷方式并将其重命名为python26python33(我还将其位置添加到PATH),但不幸的是,这不起作用。在python26中调用python26.lnknot recognized as an internal command输出。

还有其他办法吗(比如Linux virtualenv),或者我错过了一些想法?

4 个答案:

答案 0 :(得分:4)

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

C:\Python26\python.exe %*

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

C:\Python33\python.exe %*

现在从C:\Python26\移除C:\Python33\PATH,然后将C:\imaginary_path\放在PATH变量中。

在那里,Windows将.bat文件视为可执行文件,现在您可以调用python2 test.py 现在,每次按 Ctrl + C 您将收到一条要求“终止批处理作业?”的promt。这有点烦人,有一些替代方案可以解决这个问题,一个是你编辑你的python2.bat看起来像:

start C:\Python26\python.exe %*

答案 1 :(得分:2)

正如其他人所提到的,创建批处理文件可以正常工作。但是,如果您仍想使用常规快捷方式(.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:\>

答案 2 :(得分:0)

您也可以使用Windows路径:

set path=C:\Python26;.;..;C:\windows;C:\windows\system32
prompt $ & start title Python26

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

set path=C:\Python33;.;..;C:\windows;C:\windows\system32
prompt $ & start title Python33

将其保存为Py33.bat并在显示的屏幕中键入Python

答案 3 :(得分:0)

您可以做的是更改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运行。