搜索网络,这似乎是由Python安装路径中的空格引起的问题。
我如何让pip工作,而不必重新安装在一个没有空格的路径中的所有东西?
搜索网络,这似乎是由Python安装路径中的空格引起的问题。
我如何让pip工作,而不必重新安装在一个没有空格的路径中的所有东西?
当前回答
您可以删除之前的python文件夹和环境变量路径从您的pc,然后重新安装python .it将解决
其他回答
至少在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的路径。
我有一个更简单的解决方案。使用@apple方式,但将main.py重命名为pip.py,然后将其放在python版本scripts文件夹中,并将scripts文件夹添加到您的路径中,全局访问它。如果你不想把它添加到路径,你必须CD到脚本,然后运行PIP命令。
我试图安装一些站点包,如numpy, xgboost等,但每次都出现这个错误:
Fatal error in launcher: Unable to create process using
我尝试了很多方法来解决这个问题,并找到了这个方法,它成功地帮助了我:
python -m pip freeze
希望它也能帮助到别人。
附:我在这里找到了这个解决方案:https://stackoverflow.com/a/39733705/10310794
如果您在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
以下是我的解决方法:
在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安装