首页 > 解决方案 > 降级 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

标签: pythonpython-3.xpip

解决方案


你得到的 PermissionError 让我觉得你没有将它作为 sudo 运行,特别是因为它试图使用 os.unlink。尝试 sudo 看看它是否有效!


推荐阅读