【问题标题】:How to make shortcut work from PATH如何使快捷方式从 PATH 工作
【发布时间】:2013-10-09 09:15:12
【问题描述】:

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

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

【问题讨论】:

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

标签: python windows path


【解决方案1】:

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 时,您都会收到询问“终止批处理作业?”的提示。这有点烦人,有一些替代方案可以解决这个问题,一个是你编辑你的 python2.bat 看起来像:

start C:\Python26\python.exe %*

【讨论】:

  • 或者简单地将两个.bat 文件放在`C:\Windows\System32` 下,同样可以。
  • 不!不要把文件放到system32里面,那个目录是属于系统的。
  • @DavidHeffernan 是的,因为 Windows 文件结构是如此神圣(虽然我同意,这就是为什么我把它作为评论而不是在我的答案中,但它会起作用,你不需要修改路径)。
【解决方案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:\>

【讨论】:

    【解决方案3】:

    您也可以使用 Windows 路径:

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

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

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

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

    【讨论】:

      【解决方案4】:

      除了创建快捷方式,您还可以更改 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 运行。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-12-03
        • 2012-07-14
        • 2012-06-14
        • 1970-01-01
        • 1970-01-01
        • 2017-09-12
        • 2022-09-30
        • 1970-01-01
        相关资源
        最近更新 更多