启动器中的致命错误:无法使用“C:\Program Files (x86)\Python33\python.exe”“C:\Program Files (x86)\Python33\pip.exe”创
Posted
技术标签:
【中文标题】启动器中的致命错误:无法使用“C:\\Program Files (x86)\\Python33\\python.exe”“C:\\Program Files (x86)\\Python33\\pip.exe”创建进程【英文标题】:Fatal error in launcher: Unable to create process using ""C:\Program Files (x86)\Python33\python.exe" "C:\Program Files (x86)\Python33\pip.exe""启动器中的致命错误:无法使用“C:\Program Files (x86)\Python33\python.exe”“C:\Program Files (x86)\Python33\pip.exe”创建进程 【发布时间】:2014-08-28 22:26:25 【问题描述】:网上搜了一下,好像是python安装路径有空格导致的问题。
如何让pip
工作而不必重新安装没有空格的路径中的所有内容?
【问题讨论】:
您是否尝试过对程序文件使用短路径名(X86)?例如"C:\PROGRA~2\Python33\python.exe" 问题是在安装pip
时,它会使用从系统中获取的原始长名称。请参阅下面的答案。
可通过 Python 2.7 和 Windows 10 Preview build 10074 重现
@CsabaToth,我必须更正您的编辑:双引号在您更改之前是正确的;他们只是省略了单引号:逐字记录错误是:Fatal error in launcher: Unable to create process using '""C:\Program Files (x86)\Python33\python.exe"" "C:\Program Files (x86)\Python33\Scripts\pip.exe" '
。看起来很奇怪,但就是这样。
我使用的是 Powershell(管理员),它在第一次运行时就可以使用。
【参考方案1】:
你可以从你的电脑中删除以前的python文件夹和环境变量路径,然后重新安装python。它会解决
【讨论】:
【参考方案2】:我试图安装一些站点包,如 numpy、xgboost 等,但每次都出现此错误:
Fatal error in launcher: Unable to create process using
我尝试了很多方法来解决这个问题并找到了这个,它成功地帮助了我:
python -m pip freeze
希望它也能帮助别人。
附:我在这里找到了这个解决方案:https://***.com/a/39733705/10310794
【讨论】:
【参考方案3】:当我通过卸载 python3.7 并安装 python3.8 重新安装我的 python 时,我遇到了类似的问题。但是我通过删除以前版本的python目录解决了它。对我来说,它位于这里,
C:\Users\你的用户名\AppData\Local\Programs\Python
我删除了名为 Python37(用于旧版本) 的文件夹并保留了 Python38(用于更新版本)。这很有效,因为 python 本身似乎很难为你的 python 脚本找到正确的目录。
【讨论】:
【参考方案4】:在 Windows 上,我通过以下方式解决了这个问题:
1) 已卸载的 Python
2) 导航到C:\Users\MyName\AppData\Local\Programs
(您应该打开隐藏文件可见性Show hidden files instruction)
3) 删除“Python”文件夹
4) 安装 Python
【讨论】:
我在 Windows 10 上。我复制了 python 文件夹并覆盖到一台新计算机上,以节省安装超过 800 MB 的所有内容的时间。这以前工作得很好,但不知何故这次不行。我在这里尝试了所有方法,只有 Darkside 的终极解决方案适合我。【参考方案5】:这是我修复它的方法。
-
下载https://bootstrap.pypa.io/get-pip.py
激活您的虚拟环境
导航到 get-pip.py 文件并键入不带引号的“python get-pip.py”。
它将在环境中重新安装您的 pip 并自动卸载以前的版本。
现在繁荣!安装你喜欢的任何东西
【讨论】:
【参考方案6】:如果您在 Windows 上使用区分大小写的文件系统,则可能会发生这种情况。如果您的venv
目录中同时存在lib
目录和Lib
目录,您可以判断是否是这种情况:
> dir
Directory: C:\git\case\sensitive\filesystem\here\venv
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 4/07/2018 4:10 PM Include
d----- 22/01/2019 7:52 AM Lib
d----- 22/01/2019 7:52 AM lib
d----- 22/01/2019 7:52 AM Scripts
d----- 22/01/2019 7:52 AM tcl
要解决这个问题(直到virtualenv.py
得到修复:https://github.com/pypa/virtualenv/issues/935)合并两个 lib 目录并使 venv
不区分大小写:
cd venv
move Lib rmthis
move .\rmthis\site-packages\ lib
rmdir rmthis
fsutil.exe file setCaseSensitiveInfo . disable
【讨论】:
我没有'Lib'和'lib'目录,但还是遇到了这个问题。可以通过以下直接判断venv目录是否区分大小写fsutil.exe file queryCaseSensitiveInfo .venv
。有关 Windows 中区分大小写的文件系统的更多背景信息,请参见 devblogs.microsoft.com/commandline/…【参考方案7】:
我有一个更简单的解决方案。使用@apple 方式,但将 main.py 重命名为 pip.py 然后将其放入您的 python 版本脚本文件夹并将脚本文件夹添加到您的路径中,全局访问它。如果您不想将其添加到路径中,则必须 cd 到脚本,然后运行 pip 命令。
【讨论】:
【参考方案8】:我遇到了这个问题,此页面上的其他修复并没有完全解决问题。
解决问题的方法是进入我的系统环境变量并查看 PATH - 我已经卸载了 Python 3,但 Python 3 文件夹的旧路径仍然存在。我在我的 PC 上只运行 Python 2 并使用 Python 2 安装 pip。
除了升级到最新版本的pip
之外,从 PATH 中删除对不存在的 Python 3 文件夹的引用修复了该问题。
【讨论】:
【参考方案9】:我遇到了同样的问题,并使用以下方法进行了 pip 升级,现在它工作正常。
python -m pip install --upgrade pip
【讨论】:
【参考方案10】:python -m pip
确实适用于Fatal error in launcher: Unable to create process using '"'
.Worked on Windows 10
【讨论】:
【参考方案11】:我选择为 Windows(64 位)安装 Python,不是为所有用户,而是为我自己。
重新安装 Python-x64 并选中“适用于所有用户”的高级选项为我解决了 pip 问题。
【讨论】:
【参考方案12】:对我来说,当我将环境路径更改为指向最初指向 v3.6 的 v2.7 时,就会出现这个问题。之后,要运行 pip 或 virtualenv 命令,我必须python -m pip install XXX
,如下面的答案所述。
所以,为了摆脱这种情况,我再次运行 v2.7 安装程序,选择 change 选项并确保,添加到路径 选项已启用,并让安装程序运行。之后一切正常。
【讨论】:
【参考方案13】:我在 Windows 10 上遇到了同样的问题,在尝试了所有以前的解决方案后,问题仍然存在,所以我决定卸载我的 python 2.7 并安装版本 2.7.13,它运行良好。
【讨论】:
【参考方案14】:好像
python -m pip install XXX
无论如何都会工作(为我工作) (见link by user474491)
【讨论】:
使它成为公认的答案,尽管它更像是一种解决方法(或替代方法)而不是实际修复,但无论如何,它更普遍适用。 @user4154243,这行得通,但你能解释一下它的实际作用吗?使用它来安装所有其他库有什么后果吗? 你救救我,我试图配置oddo,它需要配置python。我为同一个问题尝试了 5 6 小时,最后它的工作来自你的想法。十分感谢。我还添加了我对古怪相关工作的答案。 在 virtualenv 中遇到此问题,使用您的解决方案安装最新的 pip,然后允许正常使用命令:python -mpip install pip --upgrade 这是一种解决方法,不应该是公认的答案【参考方案15】:我编写了一个脚本来修补这些 exe。但最好的方法是修复 distutil 本身。
"""Fix "Fatal error in launcher: Unable to create process using ..." error. Put me besides those EXE made by pip. (They are made by distutils, and used by pip)"""
import re
import sys
import os
from glob import glob
script_path = os.path.dirname(os.path.realpath(__file__))
real_int_path = sys.executable
_t = script_path.rpartition(os.sep)[0] + os.sep + 'python.exe'
if script_path.lower().endswith('scripts') and os.path.isfile(_t):
real_int_path = _t
print('real interpreter path: ' + real_int_path)
print()
for i in glob('*.exe'):
with open(i, 'rb+') as f:
img = f.read()
match = re.search(rb'#![a-zA-Z]:\\.+\.exe', img)
if not match:
print("can't fix file: " + i)
continue
int_path = match.group()[2:].decode()
int_path_start = match.start() + 2
int_path_end = match.end()
if int_path.lower() == real_int_path.lower():
continue
print('fix interpreter path: %s in %s' % (int_path, i))
f.seek(int_path_start)
f.write(real_int_path.encode())
f.write(img[int_path_end:])
【讨论】:
当我尝试运行 eb.exe(AWS Elastic Beanstalk CLI 的一部分)时出现错误“无法创建进程”,这个小脚本修复了 eb.exe!现在可以了,谢谢。 这对我有用,但只有在更改代码以匹配 real_int_path 的长度与 int_path 之后。我按照 Archimedix 的回答建议用空格填充它。【参考方案16】:我遇到了类似的问题,升级 pip 为我解决了这个问题。
python -m pip install --upgrade pip
这是在 Windows 上,pip.exe 中的 python 路径不正确。有关路径的更多信息,请参阅Archimedix answer。
【讨论】:
谢谢!您可能需要添加:--force 我已经安装了最新版本。使用 python -m pip install pip==9.0.0 去旧版本,而不是升级来修复 pip.exe【参考方案17】:尝试使用以下链接重新安装,
下载https://bootstrap.pypa.io/get-pip.py
下载后,将“get-pip.py”复制到python安装的主目录,然后打开cmd并导航到python目录并输入“python get-pip.py”(不带引号)
注意:还要确保在环境变量中设置了python目录。
希望这可能会有所帮助。
【讨论】:
【参考方案18】:我的确切问题是(启动器中的致命错误:无法使用 '"' 创建进程)在 Windows 10 上。所以我导航到“C:\Python33\Lib\site-packages”并删除了 django 文件夹和 pip 文件夹然后使用 pip 重新安装了 django,我的问题就解决了。
【讨论】:
【参考方案19】:我在 Window 中解决了我的问题 如果你同时安装 python2 和 python3
你需要输入某人\Scripts将所有file.exe改为file27.exe,然后解决
我的 D:\Python27\Scripts 编辑 django-admin.exe 到 django-admin27.exe 就完成了
【讨论】:
欢迎来到 SO。请在帮助部分查看您的答案格式。【参考方案20】:我添加了我的答案,因为我在本地配置 ODDO9 源代码时遇到了同样的错误,并且在运行 exe 时需要运行 exe,我遇到了同样的错误。
从昨天开始,我配置了oddo 9.0(部分:-“requirements.txt 文件中列出的 Python 依赖项。”),它需要以 PIP exe 身份运行
C:\YourOdooPath> C:\Python27\Scripts\pip.exe install -r requirements.txt
我的奇怪路径是:- D:\Program Files (x86)\Odoo 9.0-20151014 我的点子位置是:- D:\Program Files (x86)\Python27\Scripts\pip.exe
所以我打开命令提示符并转到上面的奇数路径并尝试使用这些组合运行 pip exe,但并不总是出现上述错误。
-
D:\Program Files (x86)\Python27\Scripts\pip.exe install -r requirements.txt
“D:\Program Files (x86)\Python27\Scripts\pip.exe install -r requirements.txt” Python27\Scripts\pip.exe install -r requirements.txt
“Python27/Scripts/pip.exe install -r requirements.txt”
我通过@user4154243 的回答解决了我的问题,谢谢。
第 1 步:Add variable(如果您的路径不在变量路径中)。
第 2 步:转到命令提示符,打开您安装的奇怪路径。
第 3 步:运行此命令 python -m pip install XXX
将运行并安装这些东西。
【讨论】:
【参考方案21】:我将python.exe
的可执行文件重命名为例如python27.exe
。关于Archimedix 的答案,我用Hex-Editor 打开了我的pip.exe,滚动到文件末尾并将路径中的python.exe
更改为python27.exe
。编辑时请确保您不会覆盖其他信息。
【讨论】:
【参考方案22】:不是直接调用ipython,而是使用Python等加载
$ python "ipython.exe 的完整路径"
【讨论】:
【参考方案23】:请添加这个地址:
C:\Program Files (x86)\Python33
在 Windows PATH 变量中
虽然首先确保这是 Python exe 文件所在的文件夹,然后只将此路径添加到 PATH 变量中。
要在 PATH 变量中附加地址,请转到
控制面板 -> 系统 -> 高级系统设置 -> 环境 变量 -> 系统变量 -> 路径 -> 编辑 ->
然后附加上述路径并点击保存
【讨论】:
【参考方案24】:至少在 Windows 上,pip
在安装时将执行路径存储在可执行文件 pip.exe
中。
使用十六进制编辑器或写字板编辑此文件(您必须将其保存为纯文本,然后才能保留二进制数据),使用引号和空格将路径更改为 Python,如下所示:
#!"C:\Program Files (x86)\Python33\python.exe"
到没有空格和引号的转义路径并用空格填充(末尾的点应该是空格):
#!C:\Progra~2\Python33\python.exe.............
对于“C:\Program Files”,该路径可能是“C:\Progra~1”(DOS / Windows 3.x 表示法中的缩短路径名使用波浪号和数字)。 Windows 为向后兼容 DOS / Windows 3.x 应用程序提供了这种替代表示法。
请注意,由于这是一个二进制文件,因此您不应更改文件大小,这可能会破坏可执行文件,从而破坏填充。
以管理员权限保存,确保实际保存在目标位置,然后重试。
您可能还需要设置PATH
变量以使用~
表示法作为pip
的路径。
【讨论】:
我不是指环境变量。我只是说这个字符串出现在哪里"#!"C:\Program Files (x86)\Python33\python.exe"
我能够通过使用十六进制编辑器找到它的位置。但是使用 Sublime Text 没有这样的字符串可见。你能想到为什么路径显示在写字板而不是 Sublime Text 中的任何原因吗?
写字板是一个笨拙的文本编辑器,Sublime 可能太聪明了,我猜它会显示内容的十六进制转储。
这对我有用。我原来的字符串是#!"C:\Program Files\Python3.4\python.exe"
,所以我把它改成了#!C:\Progra~1\Python3.4\python.exe
,它工作了。我能够使用 Notepad++ 很好地编辑文件。此字符串显示在文件末尾附近,位于长行的末尾。
这行得通。我只是卸载了python。然后重新安装;重新安装后,我只是将安装文件夹从 C:\Program Files (x86)\Python34
更改为 C:\Progra~2\Python34
。 (如果您不想处理十六进制编辑器或更改二进制文件)
"至少在 Windows 上,pip 在安装时将执行路径存储在可执行文件 pip.exe 中。"现在这很愚蠢-.-我花了半个小时才弄清楚。【参考方案25】:
当virtualenv
路径中有空格时,这是一个known Bug。已更正,将在下一个版本中提供。
【讨论】:
Pip 错误现已修复。通过运行python -m pip install -U pip
进行更新
不,到目前为止,Python34 仍然存在错误!
仍然是一个问题:Python36
仍然是一个问题:Python37
仍有问题:python 3.6.6【参考方案26】:
我在https://pip.pypa.io/en/latest/installing.html#install-pip 中读到的同样的问题是更新 pip:
python -m pip install -U pip
所以我做了(例如)
python -m pip install virtualenv
它奏效了!所以你可以做同样的事情是'virtualenv'另一个你想要的包。
【讨论】:
我遇到了列出的错误,这是对我有用的解决方案!在升级到最新的 pip 后,我什至可以使用“pip install virtualenv”并停止使用“python -m pip”。谢谢!【参考方案27】:我是这样解决的:
在 7zip 中打开 pip.exe
并将 __main__.py
解压缩到 Python\Scripts 文件夹。
在我的例子中是C:\Program Files (x86)\Python27\Scripts
将__main__.py
重命名为pip.py
运行它! python pip.py install something
编辑:
如果您希望能够在任何地方进行pip install something
,也可以这样做:
将 pip.py 重命名为 pip2.py(以避免导入 pip 错误)
使用以下内容制作C:\Program Files (x86)\Python27\pip.bat
:
python "C:\Program Files (x86)\Python27\Scripts\pip2.py" %1 %2 %3 %4 %5 %6 %7 %8 %9
将 C:\Program Files (x86)\Python27
添加到您的 PATH(如果尚未)
运行它! pip install something
【讨论】:
以上是关于启动器中的致命错误:无法使用“C:\Program Files (x86)\Python33\python.exe”“C:\Program Files (x86)\Python33\pip.exe”创的主要内容,如果未能解决你的问题,请参考以下文章
nmake : NMAKE : 致命错误 U1073: 不知道如何制作 '"C:/Program Files (x86)/Git/nologo"'
本机方法中的致命错误:在调试模式下启动 hybris 服务器时,JDWP 没有传输初始化错误