【问题标题】:Running multiple instances of python in windows 11在 Windows 11 中运行多个 python 实例
【发布时间】:2022-11-12 10:32:16
【问题描述】:

我使用的是 Windows 11,首先安装了 python 2.7,然后是 python 3.10。我已经为两者设置了环境路径。

我还制作了 python exe 的副本并将它们重命名为“python2”和“python3”(见下文)

https://i.imgur.com/oZlL2iS.jpeg

https://i.imgur.com/MBRe9LL.jpeg

在命令提示符中,当我键入“python - - version”时,它会显示我安装的最新版本的 python,即 python 3。当我键入“python - 2 - - version”时,它会显示我安装的 python 2 版本。一切都按预期进行。 (见下文)

https://i.imgur.com/HPXqmIM.png

现在,我创建了两个不同的 .py 文件(文件内容如下)

https://i.imgur.com/bl6THNk.jpeg

https://i.imgur.com/l3aTut6.jpeg

我遇到的问题是,当我双击这些 python 文件时,命令提示符打开并在两者上显示 python 2.7,即使我在其中一个文件中有 shebang 行与 python 3 相关联。

在我多年前设置的 Windows 10 中,除了 python 版本(我有 python 2.7 和 python 3.6)之外,我的所有设置都完全相同。当我双击python 2 shebang文件时,输出是python 2.7,当我双击python 3 shebang文件时,它显示python 3.6。

如何在 Windows 11 中获得相同的结果?我不太确定问题是什么。

我最初使用多年前在 Windows 10 中对同一问题给出的答案的帮助,但这些答案不适用于 Windows 11。见下文

How to run multiple Python versions on Windows

【问题讨论】:

    标签: python python-3.x windows python-2.7


    【解决方案1】:

    由于您低于 python 3.7,您可能必须使用这些 shebang 行:

    #! /usr/bin/python3.6
    #! /usr/bin/python2.7
    

    为此,您必须安装 python launcher

    从 3.7 开始,您可能会丢失次要版本,只能使用

    #! /usr/bin/python3
    

    【讨论】:

      【解决方案2】:

      不要将任何一个添加到路径中,而是使用通常随 Python 一起安装的 Python Launcher for Windows

          py -0             # List installed Pythons.
          py -2 script.py   # Run Python 2 (latest installed)
          py -3 script.py   # Run Python 3 (latest installed)
      

      环境变量PY_PYTHON=M.m,其中M.m是主要/次要版本,选择默认的python用于py script.py。您还可以将 .py;.pyw 添加到 PATHEXT 环境变量,这样您就可以在没有 py 或扩展名的情况下运行 script

      使用脚本顶部的 #!python2.7 覆盖默认 Python 并使用列出的特定版本。 #!userinpython2.7 也可以,但在 Windows 上不需要完整路径。 *nix 上的脚本工作需要完整路径。

      【讨论】:

        猜你喜欢
        • 2011-04-30
        • 2021-05-09
        • 2015-12-21
        • 1970-01-01
        • 2021-07-01
        • 2016-01-17
        • 1970-01-01
        • 2018-01-29
        相关资源
        最近更新 更多