【问题标题】:Accidentally deleted pip on my system when downgrading Python, now pip won't install降级 Python 时意外删除了我系统上的 pip,现在 pip 无法安装
【发布时间】:2021-05-11 20:34:29
【问题描述】:

我将 Python 从 3.9 降级到 3.8,但降级后 Pip 仍在安装到 3.9,因此我卸载了 Pip。我尝试使用:python get-pip.pyfrom pip's documentationpip install --upgrade --force pip 重新安装 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

【问题讨论】:

  • 简单回答:尝试设置一个虚拟环境(condavenv),不要深入挖掘自己。更长的答案:很难判断问题出在 Python 的自制版本还是系统版本中,但我知道至少有两个人因为删除了重要的系统实用程序而不得不重新安装操作系统(您可能想要备份一些文件以防万一)。

标签: python python-3.x pip


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-17
    • 2017-11-06
    • 2015-06-10
    • 1970-01-01
    • 1970-01-01
    • 2017-10-06
    • 2019-04-02
    • 2016-02-16
    相关资源
    最近更新 更多