Python 如何从路径创建快捷方式

Python 如何从路径创建快捷方式,python,windows,path,Python,Windows,Path,我在Windows上有两个Python版本,希望通过cmd使用它们。我试图为它们的python.exe创建快捷方式,并将它们重命名为python26和python33(我还将它们的位置添加到PATH),但不幸的是,这不起作用。调用python26或python26.lnk在中输出未被识别为内部命令 有没有其他方法可以做到这一点(比如Linux virtualenv),或者我的想法中遗漏了什么 在C:\imagaginary\u path\下创建一个新的.bat文件,并将其命名为python2.b

我在Windows上有两个Python版本,希望通过
cmd
使用它们。我试图为它们的
python.exe
创建快捷方式,并将它们重命名为
python26
python33
(我还将它们的位置添加到
PATH
),但不幸的是,这不起作用。调用
python26
python26.lnk
中输出未被识别为内部命令


有没有其他方法可以做到这一点(比如Linux virtualenv),或者我的想法中遗漏了什么

C:\imagaginary\u path\
下创建一个新的.bat文件,并将其命名为
python2.bat

在bat文件中写入:

C:\Python26\python.exe %*
然后在
C:\imagaginary\u path\
下创建另一个,并将其命名为
python3.bat

内容如下:

C:\Python33\python.exe %*
现在从
PATH
中删除
C:\Python26\
C:\Python33\
,而将
C:\imaginal\u PATH\
放在
PATH
变量中

在那里,Windows将.bat文件视为可执行文件,现在您可以调用
python2 test.py
现在,每次按Ctrl+C时,您都会收到一个提示,询问“终止批处理作业?”这有点烦人,有几种方法可以解决这个问题,其中一种方法是编辑python2.bat,使其看起来像:

start C:\Python26\python.exe %*

C:\imagaginary\u path\
下创建一个新的.bat文件,并将其命名为
python2.bat

在bat文件中写入:

C:\Python26\python.exe %*
然后在
C:\imagaginary\u path\
下创建另一个,并将其命名为
python3.bat

内容如下:

C:\Python33\python.exe %*
现在从
PATH
中删除
C:\Python26\
C:\Python33\
,而将
C:\imaginal\u PATH\
放在
PATH
变量中

在那里,Windows将.bat文件视为可执行文件,现在您可以调用
python2 test.py
现在,每次按Ctrl+C时,您都会收到一个提示,询问“终止批处理作业?”这有点烦人,有几种方法可以解决这个问题,其中一种方法是编辑python2.bat,使其看起来像:

start C:\Python26\python.exe %*

您还可以使用Windows路径:

set path=C:\Python26;.;..;C:\windows;C:\windows\system32 prompt $ & start title Python26 设置路径=C:\Python26;。;。。;C:\windows;C:\windows\system32 提示$&开始标题Python26 将其另存为Py26.bat并在显示的屏幕中键入Python

set path=C:\Python33;.;..;C:\windows;C:\windows\system32 prompt $ & start title Python33 设置路径=C:\Python33;。;。。;C:\windows;C:\windows\system32 提示$&开始标题Python33
将其另存为Py33.bat并在显示的屏幕中键入Python。您还可以使用Windows路径:

set path=C:\Python26;.;..;C:\windows;C:\windows\system32 prompt $ & start title Python26 set path=C:\Python33;.;..;C:\windows;C:\windows\system32 prompt $ & start title Python33 设置路径=C:\Python26;。;。。;C:\windows;C:\windows\system32 提示$&开始标题Python26 将其另存为Py26.bat并在显示的屏幕中键入Python

set path=C:\Python33;.;..;C:\windows;C:\windows\system32 prompt $ & start title Python33 设置路径=C:\Python33;。;。。;C:\windows;C:\windows\system32 提示$&开始标题Python33
将其另存为Py33.bat,并在显示其他人提到的

的屏幕中键入Python,创建批处理文件就可以了。但是,如果仍要使用常规快捷方式(
.lnk
文件),可以修改
PATHEXT
环境变量以包含
.lnk
。此变量告诉Windows在搜索
PATH
变量时将哪些扩展名视为可执行文件

set path=C:\Python33;.;..;C:\windows;C:\windows\system32 prompt $ & start title Python33 例如,在创建快捷方式并将其文件夹添加到
路径
后,这将起作用:

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:\>

正如其他人所提到的,创建批处理文件很好。但是,如果仍要使用常规快捷方式(
.lnk
文件),可以修改
PATHEXT
环境变量以包含
.lnk
。此变量告诉Windows在搜索
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:\>

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

因此,您可以将C:\Python26\中的python.exe重命名为“python2”,将C:\Python33\中的python.exe重命名为“python3”。考虑到目前大多数Python代码都在 现在编辑%PATH%环境变量,使其同时包含C:\Python26\和C:\Python33

例如:

python3 chunky_bacon_FTW.py

将使用Python3.3运行。

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

因此,您可以将C:\Python26\中的python.exe重命名为“python2”,将C:\Python33\中的python.exe重命名为“python3”。考虑到目前大多数Python代码都在 现在编辑%PATH%环境变量,使其同时包含C:\Python26\和C:\Python33

例如:

python3 chunky_bacon_FTW.py

将使用Python3.3运行。

您可以添加两个批处理文件并在其中使用完整路径吗?您看到了吗?将可执行文件从
python.exe
重命名为
python2.exe
,并将
C:\Python26\
C:\Python33\
添加到您的PATH@Ihuang-对不起,但我完全不明白你想说什么-我必须创建两个批处理文件并向每个批处理文件中添加每个python的完整路径吗?@devnull-我想从cmd执行特定的python。我并不是要强迫python文件为自己找到特定的python,但谢谢你的链接,总有一天它会派上用场的。你能添加两个批处理文件并在其中使用完整的路径吗?你看到了吗?将可执行文件从
python.exe
重命名为
python2.exe
,并同时添加
C:\Python26\
C:\Python33\
PATH@Ihuang-对不起,我不明白你想说什么-我知道吗