python - Pip 消失了,get-pip.py 不会重新安装它
问题描述
我试图通过 pip 安装 numpy。我收到一个错误,它找不到某些文件(不幸的是我没有复制错误)
老实说,我不确定在那之后我做了什么,但 pip 想更新。然后我又遇到了一个错误,在检查 Scripts 文件夹时,pip 完全消失了。
从那以后,我多次尝试通过 get-pip.py 重新安装 pip。总是有同样的错误:
WARNING: Ignoring invalid distribution -ip (c:\python39\lib\site-packages)
WARNING: Ignoring invalid distribution -ip (c:\python39\lib\site-packages)
Collecting pip
Using cached pip-21.3.1-py3-none-any.whl (1.7 MB)
WARNING: Ignoring invalid distribution -ip (c:\python39\lib\site-packages)
Installing collected packages: pip
Attempting uninstall: pip
WARNING: Ignoring invalid distribution -ip (c:\python39\lib\site-packages)
Found existing installation: pip 21.3.1
Uninstalling pip-21.3.1:
Successfully uninstalled pip-21.3.1
WARNING: Failed to write executable - trying to use .deleteme logic
Rolling back uninstall of pip
Moving to c:\python39\lib\site-packages\pip-21.3.1.dist-info\
from C:\Python39\Lib\site-packages\~-p-21.3.1.dist-info
Moving to c:\python39\lib\site-packages\pip\
from C:\Python39\Lib\site-packages\~~p
ERROR: Could not install packages due to an OSError: [WinError 2] Can't find the file: 'C:\\Python39\\Scripts\\pip.exe' -> 'C:\\Python39\\Scripts\\pip.exe.deleteme'
WARNING: Ignoring invalid distribution -ip (c:\python39\lib\site-packages)
WARNING: Ignoring invalid distribution -ip (c:\python39\lib\site-packages)
所以它找到了某个版本的 pip,尝试卸载它,但由于 Scripts 文件夹中没有 pip.exe ,所以无法安装 pip ......?抱歉,在此之前我无法描述我的步骤,我是这些东西的菜鸟,老实说,我不记得我做过的不同的事情 :^)
另外,如果重要的话,python 已经在我的 PATH 中了。我的python版本是3.9.6
解决方案
存在ensurepip
内置模块
在大多数情况下,Python 的最终用户不需要直接调用此模块(
pip
默认情况下应该引导),但如果pip
在安装 Python(或创建虚拟环境时)或显式卸载后跳过安装,则可能需要它pip
.
请尝试按如下方式使用它:打开终端并执行
python -m ensurepip
推荐阅读
- javascript - 从外部 JSON 文件获取数据
- r - 使用可选箭头创建最佳饼图布局
- typescript - 是否有一个 Jest 函数来禁止任何其他函数调用而不是预期的?
- java - Aspose ColumnCollection getCount() 确切含义
- apache - 在 apache httpd 2.4 中禁用安全重新协商
- java - 从存储桶java下载图像列表
- python - 带有 login_required 装饰器的 Django 3.1 异步视图
- dataweave - 需要 dataweave 帮助进行转换
- reactjs - 变量“数据”隐式具有类型“任何 []”
- c++ - 如何将 boost::intrusive_ptr 与 boost::intrusive::list 一起使用?