搜索网络,这似乎是由Python安装路径中的空格引起的问题。

我如何让pip工作,而不必重新安装在一个没有空格的路径中的所有东西?


当前回答

当virtualenv路径中有空格时,这是一个已知的错误。更正已做,并将提供在下一个版本。

其他回答

我将python.exe的可执行文件重命名为例如python27.exe。关于Archimedix的答案,我用十六进制编辑器打开我的pip.exe,滚动到文件的末尾,并将路径中的python.exe更改为python27.exe。在编辑make shure时,不重写其他信息。

我写了一个脚本补丁那些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:])

以下是我的解决方法:

在7zip文件中打开pip.exe,并将__main__.py解压到Python\Scripts文件夹中。 对我来说,是C:\Program Files (x86)\Python27\Scripts 将__main__.py重命名为pip.py 运行它!Python pip.py安装东西

编辑:

如果你想在任何地方安装一些东西,也可以这样做:

重命名PIP .py为pip2.py(以避免导入PIP错误) 制作C:\Program Files (x86)\Python27\pip.bat,内容如下:

C:\Program Files (x86)\Python27\Scripts\pip2.py" %1 %2 %3 %4 . python %5 %6 %7 %8 %9

将C:\Program Files (x86)\Python27添加到您的PATH(如果还没有) 运行它!PIP安装

我也有同样的问题,并使用以下进行了PIP升级,现在它工作正常。 Python -m PIP install——升级PIP

我的确切问题是(致命错误在启动程序:无法创建进程使用' ' ')在windows 10。于是我找到了“C:\Python33\Lib\site-packages”,删除了django文件夹和pip文件夹,然后用pip重新安装了django,问题就解决了。