搜索网络,这似乎是由Python安装路径中的空格引起的问题。
我如何让pip工作,而不必重新安装在一个没有空格的路径中的所有东西?
搜索网络,这似乎是由Python安装路径中的空格引起的问题。
我如何让pip工作,而不必重新安装在一个没有空格的路径中的所有东西?
当前回答
我也有类似的问题,升级pip为我解决了这个问题。
python -m pip install --upgrade pip
这是在Windows上,pip.exe内的python路径不正确。有关路径的更多信息,请参阅Archimedix答案。
其他回答
至少在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的路径。
当我重新安装python时,通过卸载python3.7和安装python3.8,我也有类似的问题。但是我通过删除以前版本的python目录解决了这个问题。对我来说,它位于这里,
C:\Users\your-username\AppData\Local\Programs\Python
我删除了名为Python37的文件夹(用于以前的版本),并保留Python38(用于更新版本)。这是因为python本身似乎在为你的python脚本找到正确的目录时遇到了麻烦。
请加上这个地址:
C:\Program Files (x86)\Python33
Windows中的PATH变量
尽管首先要确保这是Python exe文件所在的文件夹,然后只将此路径添加到path变量中。
要在PATH变量中添加地址,请转到
控制面板->系统->高级系统设置->环境 变量—>系统变量—>路径—>编辑—> . zip
然后添加上面提到的路径&单击保存
如果您在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
我在https://pip.pypa.io/en/latest/installing.html#install-pip上看到了同样的问题,更新pip是:
python -m pip install -U pip
所以我做了(比如)
Python -m PIP安装virtualenv
它成功了!所以你可以做同样的'virtualenv'另一个你想要的包。