python - 降级 Python 时意外删除了我系统上的 pip,现在 pip 无法安装
问题描述
我将我的 Python 从 3.9 降级到 3.8,但降级后 Pip 仍在安装到 3.9,所以我卸载了 Pip。我试图重新安装 pip 使用:python get-pip.py
来自 pip 的文档和pip install --upgrade --force pip
,并且都给出了相同的错误:
ERROR: Exception:
Traceback (most recent call last):
File "/Users/Dan/Library/Python/3.8/lib/python/site-packages/pip/_internal/cli/base_command.py", line 180, in _main
status = self.run(options, args)
File "/Users/Dan/Library/Python/3.8/lib/python/site-packages/pip/_internal/cli/req_command.py", line 204, in wrapper
return func(self, options, args)
File "/Users/Dan/Library/Python/3.8/lib/python/site-packages/pip/_internal/commands/install.py", line 449, in run
self._handle_target_dir(
File "/Users/Dan/Library/Python/3.8/lib/python/site-packages/pip/_internal/commands/install.py", line 503, in _handle_target_dir
shutil.rmtree(target_item_dir)
File "/usr/local/Cellar/python@3.8/3.8.10/Frameworks/Python.framework/Versions/3.8/lib/python3.8/shutil.py", line 718, in rmtree
_rmtree_safe_fd(fd, path, onerror)
File "/usr/local/Cellar/python@3.8/3.8.10/Frameworks/Python.framework/Versions/3.8/lib/python3.8/shutil.py", line 675, in _rmtree_safe_fd
onerror(os.unlink, fullname, sys.exc_info())
File "/usr/local/Cellar/python@3.8/3.8.10/Frameworks/Python.framework/Versions/3.8/lib/python3.8/shutil.py", line 673, in _rmtree_safe_fd
os.unlink(entry.name, dir_fd=topfd)
PermissionError: [Errno 13] Permission denied: 'RECORD'
当我pip
在终端运行时,我得到:
Traceback (most recent call last):
File "/usr/local/bin/pip", line 5, in <module>
from pip._internal.cli.main import main
ModuleNotFoundError: No module named 'pip'
当我运行时which pip
,我得到:
/usr/local/bin/pip
解决方案
你得到的 PermissionError 让我觉得你没有将它作为 sudo 运行,特别是因为它试图使用 os.unlink。尝试 sudo 看看它是否有效!
推荐阅读
- excel - 向源添加更多文件夹 - Power Query
- visual-studio-code - 如何为 tasks.json 提供补全
- eclipse - eclipse错误未显示在文件中,如何启用显示错误?
- python - 如何使用 Postman 表单数据在 Django REST Framework 中发布嵌套数组?
- c - 为什么我不能使用 ~0 来初始化签名字符?
- python - 以百分比计算累进税的 Elif 和范围函数
- c# - 在 c# 中使用浮点数的货币格式
- c# - 如何在 C# 中获取初始化的 IWebElement 的 XPATH
- jmeter - 为什么在使用 Jmeter 使用代理服务器记录网站时单击登录按钮无法访问网站?
- php - 使用 ajax 从表中将数据插入数据库