【问题标题】:Fatal Error Using Pip使用 Pip 的致命错误
【发布时间】:2016-04-24 23:47:22
【问题描述】:

我在我的机器上使用了Python 3.4。我已经安装了同一台机器 Python 2.7 并在 Environment Path 中执行了必要的操作。在 Python34 文件夹中,我已将 python.exe 更改为 python3.exe 。我可以使用Python2.7 使用python 命令和Python3.4 使用python3 命令。但是使用pip 时出现错误:

Fatal error in launcher: Unable to create process using '"C:\Python3.4\python.exe" "C:\Python3.4\Scripts\pip.exe" install'

如您所见, pip 仍在使用 python.exe 。我该如何解决这个问题?

【问题讨论】:

  • 请问您为什么选择重命名可执行文件?如果是这样,您可以选择可以通过使用py.exe -2.7 获得2.7 版或py.exe 3.4 获得3.3 的命令行版本,您甚至可以使用pyw.exe 来获得该版本而无需控制台跨度>
  • @JamesKent 我已经按照 stackoverflow 中的单人评论中的步骤进行操作。这就是我更改可执行文件名的原因。
  • 什么步骤?你还没有解释到什么目的?你为什么要改名?它应该达到什么目的?
  • 我见过this answer 并改了名字。最后是 pip 现在不工作了

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


【解决方案1】:

我会在这里尽可能清楚,您在上面的 cmets 中链接到的答案是专门询问能否在同一台机器上运行多个版本的 python,并能够指定哪个version 用于从命令行运行脚本。

当安装 python 3 时,两个可执行文件被添加到 c:\Windows\,称为 py.exepyw.exe,当在资源管理器中双击调用 python 脚本时,默认使用它们。

如果没有设置其他命令行参数,那么这些可执行文件会在脚本中查找看起来像 #!python2#!python3.3 的 shebang 行,并指示 py(或 pyw)可执行文件使用该版本的 python 运行脚本,请注意这可能只是#!python,它将使用系统上找到的第一个版本(最旧的在前)还请注意,只能使用2个有效数字(所以你不能使用#!python3.3.4)。如果没有找到shebang行,将使用找到的第一个python版本。

要从命令行使用特定版本的 python,您将有几个选项,首先您可以指定所需 python 版本的整个路径,例如C:\Python33\python.exe scriptname.py 或者您可以使用标志。
要使用标志,您可以调用 py -3.3 scriptname.py,它会调用 python 3.3 解释器并将脚本作为参数传递给您。

这可以防止您需要弄乱可执行文件名称,因为弄乱了您正在破坏自己的 pip 安装的可执行文件名称。简而言之,您没有理由需要重命名它们。

【讨论】:

    【解决方案2】:

    我在Window7 中安装python2.7 和python3.6 时遇到同样的错误。 重命名 python.exe 后,使用 pip 时出错。

    如果您的 pip 是最后一个版本,您必须使用命令 python3 -m pip install --upgrade --force-reinstall pip 重新安装您的 pip。

    如果您的 pip 不是最后一个版本,您可以使用命令python3 -m pip install --upgrade pip 升级您的 pip。

    注意。当您为您的 python2 安装 pip 时,您必须将命令更改为 python2 -m pip install --upgrade --force-reinstall pip。 希望对你有用~

    【讨论】:

      猜你喜欢
      • 2018-09-25
      • 2016-01-05
      • 2020-07-06
      • 1970-01-01
      • 1970-01-01
      • 2016-09-10
      • 2022-09-23
      • 2014-05-01
      • 1970-01-01
      相关资源
      最近更新 更多