搜索网络,这似乎是由Python安装路径中的空格引起的问题。
我如何让pip工作,而不必重新安装在一个没有空格的路径中的所有东西?
搜索网络,这似乎是由Python安装路径中的空格引起的问题。
我如何让pip工作,而不必重新安装在一个没有空格的路径中的所有东西?
当前回答
我在使用django rest框架和simplejwt时遇到了这个问题。我所要做的就是升级pip并重新安装软件包
其他回答
至少在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的路径。
以下是我的解决方法:
在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安装
我写了一个脚本补丁那些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:])
我也有类似的问题,升级pip为我解决了这个问题。
python -m pip install --upgrade pip
这是在Windows上,pip.exe内的python路径不正确。有关路径的更多信息,请参阅Archimedix答案。
请加上这个地址:
C:\Program Files (x86)\Python33
Windows中的PATH变量
尽管首先要确保这是Python exe文件所在的文件夹,然后只将此路径添加到path变量中。
要在PATH变量中添加地址,请转到
控制面板->系统->高级系统设置->环境 变量—>系统变量—>路径—>编辑—> . zip
然后添加上面提到的路径&单击保存