【问题标题】:Where is python2 if python points to python3? [duplicate]如果python指向python3,python2在哪里? [复制]
【发布时间】:2020-09-30 17:50:05
【问题描述】:

我首先在我的 PC 上安装了 python3。现在python 在命令提示符下启动 python3。当我尝试运行具有 python2 依赖项的节点应用程序时,出现语法错误(它使用旧的打印语法):

gyp ERR! stack Error: Command failed: 
C:\Users\User\AppData\Local\Programs\Python\Python38-32\python.EXE -c import 
sys; print "%s.%s.%s" % sys.version_info[:3];

但是我不知道如何让python指向python2。

【问题讨论】:

  • Windows 使用 PATH 变量,虽然我不再经常使用 Windows,所以我不记得在哪里可以找到它——但您需要确保 python2 路径是在python3.exe之前的PATH中...
  • 要让python指向python2,进入python2目录,将python2.exe复制为python在同一目录下,然后将此文件夹添加到PATH
  • 这是一个操作系统问题。您需要搜索您的 Python2 安装 - 可能在 Programs\Python 文件夹下 - 并更改您的 PATH 变量以指向那里,或者为 python2 创建一个别名(快捷方式)。请参阅您的操作系统文档以了解如何处理这些变量。
  • @kojiro - 这是正确的答案。这是路径变量的顺序

标签: python windows


【解决方案1】:

您需要更改您的 Windows 环境变量以指向您要使用的 python。

这很可能是节点找到可用 python.exe 路径的地方。

【讨论】:

    【解决方案2】:

    你只需要改变环境变量

    similar question reference

    【讨论】:

      【解决方案3】:

      替代解决方案:永远不要运行python。 Windows 解决方案,假设 Python 3 以管理权限安装(因此它可以安装 the Python launcher),运行:

       py -2
      

      运行 Python 2,并且

       py -3
      

      运行 Python 3。启动器是专门创建的,因为在 Windows 上名称始终为 python.exe,因此在 PATH 中只能找到一个版本;启动器无需操作PATH 即可授予对所有已安装副本的访问权限。甚至不需要额外输入(py -2python 短)。

      【讨论】:

        【解决方案4】:

        除非您取消选择,否则 Python 安装程序会安装 PyLauncher不要将 python 添加到 PATH。 py.exe(启动器)已安装在路径中(默认为 C:\Windows)。

        py -2   # launches latest python 2 installed.
        py -3   # launches latest python 3 installed.
        py -3.6 # launches Python 3.6.
        

        可以设置PY_PYTHON 环境变量,例如set PY_PYTHON=3.6 仅在运行py 时选择默认python;否则,它将选择安装的最新版本的 Python。

        您还可以在脚本中使用#!python2,以便在资源管理器中双击或在没有特定开关的情况下运行时使用该版本的 Python (py script.py)。

        【讨论】:

          猜你喜欢
          • 2018-02-15
          • 1970-01-01
          • 2013-04-30
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-08-13
          • 2011-05-20
          相关资源
          最近更新 更多