“警告:scheme.data 的值不匹配”当我尝试更新 pip 或安装包时

daq*_*ada 81 python pip python-3.x

我有一台 M1 Mac,我刚刚注意到,当我尝试升级pip或安装任何软件包时,会收到一系列警告:

user@mac01 ~ $python3 -m pip install --upgrade pip
WARNING: Value for scheme.platlib does not match. Please report this to <https://github.com/pypa/pip/issues/9617>
distutils: /opt/homebrew/lib/python3.9/site-packages
sysconfig: /opt/homebrew/opt/python@3.9/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages
WARNING: Value for scheme.purelib does not match. Please report this to <https://github.com/pypa/pip/issues/9617>
distutils: /opt/homebrew/lib/python3.9/site-packages
sysconfig: /opt/homebrew/opt/python@3.9/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages
WARNING: Value for scheme.headers does not match. Please report this to <https://github.com/pypa/pip/issues/9617>
distutils: /opt/homebrew/include/python3.9/UNKNOWN
sysconfig: /opt/homebrew/opt/python@3.9/Frameworks/Python.framework/Versions/3.9/include/python3.9
WARNING: Value for scheme.scripts does not match. Please report this to <https://github.com/pypa/pip/issues/9617>
distutils: /opt/homebrew/bin
sysconfig: /opt/homebrew/opt/python@3.9/Frameworks/Python.framework/Versions/3.9/bin
WARNING: Value for scheme.data does not match. Please report this to <https://github.com/pypa/pip/issues/9617>
distutils: /opt/homebrew
sysconfig: /opt/homebrew/opt/python@3.9/Frameworks/Python.framework/Versions/3.9
WARNING: Additional context:
user = False
home = None
root = None
prefix = None
Requirement already satisfied: pip in /opt/homebrew/lib/python3.9/site-packages (21.1)
WARNING: Value for scheme.platlib does not match. Please report this to <https://github.com/pypa/pip/issues/9617>
distutils: /opt/homebrew/lib/python3.9/site-packages
sysconfig: /opt/homebrew/opt/python@3.9/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages
WARNING: Value for scheme.purelib does not match. Please report this to <https://github.com/pypa/pip/issues/9617>
distutils: /opt/homebrew/lib/python3.9/site-packages
sysconfig: /opt/homebrew/opt/python@3.9/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages
WARNING: Value for scheme.headers does not match. Please report this to <https://github.com/pypa/pip/issues/9617>
distutils: /opt/homebrew/include/python3.9/UNKNOWN
sysconfig: /opt/homebrew/opt/python@3.9/Frameworks/Python.framework/Versions/3.9/include/python3.9
WARNING: Value for scheme.scripts does not match. Please report this to <https://github.com/pypa/pip/issues/9617>
distutils: /opt/homebrew/bin
sysconfig: /opt/homebrew/opt/python@3.9/Frameworks/Python.framework/Versions/3.9/bin
WARNING: Value for scheme.data does not match. Please report this to <https://github.com/pypa/pip/issues/9617>
distutils: /opt/homebrew
sysconfig: /opt/homebrew/opt/python@3.9/Frameworks/Python.framework/Versions/3.9
WARNING: Additional context:
user = False
home = None
root = None
prefix = None
user@mac01 ~ $
Run Code Online (Sandbox Code Playgroud)

请指教。

pra*_*nsg 156

(这里是 pip 维护者!)

更新:pip 21.1.1 已经发布了这个修复,通过将这个消息的日志级别从“警告”降低到“调试”。只有--verbose现在运行 pip 的用户才能看到它。


此警告本身无害,并且不会影响任何安装逻辑。您可以安全地使用当前的 pip,暂时忽略此警告。

对于那些想要快速回答以消除此警告的人:python -m pip install pip==21.0.1-您现在可以固定到旧版本的 pip。这是不必要的 IMO,但你可以选择你的毒药(一些警告要忽略,而不是旧的 pip 版本)。


对于那些想要了解更多信息的人:添加此警告是因为我们希望在将来进行转换时显示可能发生的问题。

由于历史原因(呃……Python 2),pip 用于distutils.sysconfig获取有关安装 Python 包的位置的信息。该模块可以在功能上替换为sysconfig在 Python 3.2 中添加到 Python 标准库中的模块。然而,Python 发行商修补它(而不是sysconfig)以提供替代的“默认安装方案”。

PEP 632弃用了 distutils,它将从 Python 标准库中删除。distutils-based 安装是 Python 打包社区一直试图弃用和删除的东西。

我们一直在与许多分销商合作,让他们修复他们的补丁,以便将来的安装可以过渡到sysconfig用作他们的真实来源。此消息是我们“从损坏的 Python 安装的用户那里获取信息”的一部分。您可能已经注意到,Python 安装的配置不同,distutils.sysconfig而且sysconfig比我们预期的要常见得多。:)

  • “那些警告以后会被删除吗?” -- 是的,希望如此,因为无论谁发布了 Python 安装,都可以修复它。或者......当我们觉得我们已经获得了足够的信息来绘制这些配置的样子,并且可以在沙子上划出一条线来确定什么在未来有效,什么不会。希望我们能够在过渡期间出现问题时,为使用具有特定移除日期的逃生舱口的用户提供正确的错误消息。 (5认同)
  • 我不认为消息的日志记录级别已从警告降级为调试。我正在运行 pip 21.2.1,它比 21.1.1 还要新,并且许多此类消息都出现在警告级别。 (2认同)

小智 74

降级到早期版本的 pip 为我修复了它:

python -m pip install pip==21.0.1

  • 无需降级。更好地升级到 pip 21.1.1(撰写本文时最新的 pip 版本)。pip 21.1.1 删除了警告消息。 (6认同)
  • 该解决方案对我不起作用。今天我在 **Colab** 上工作时收到了同样的错误消息,其 pip 版本为 19.3.1,甚至早于版本 21.0.1。仍在等待适用于我的情况的解决方案。 (3认同)