【问题标题】:How to check which dependency requires hashes?如何检查哪个依赖项需要哈希?
【发布时间】:2022-08-21 02:48:45
【问题描述】:

在我一直从事的大型项目中,在--require-hashes 模式下运行 pip 越来越令人讨厌,因为它迫使我指定我正在使用的每个依赖项的确切版本。我没有明确指定这个要求,并且对它在我的日志中的出现感到困惑;经过一番挖掘,我发现--require-hashes 模式会在任何依赖项使用此标志安装自己的要求时隐式打开:

Hashes are required in --require-hashes mode (implicitly on when a hash is
specified for any package).

如何检查哪个依赖项需要哈希以便我可以尝试替换它?或者,还有其他我不知道的解决方法吗?

编辑:我正在使用 pip 21.3.1。 我的错误信息是:

采集文本-unidecode>=1.3 错误:在 --require-hashes 模式下,所有需求的版本都必须用 == 固定。这些不会: text-unidecode>=1.3 来自https://files.pythonhosted.org/packages/a6/a5/c0b6468d3824fe3fde30dbb5e1f687b291608f9473681bbf7dabbf5a87d7/text_unidecode-1.3-py2.py3-none-any.whl#sha256=1311f10e8b895935241623731c2ba64f4c455287888b18189350b67134a822e8(来自 python-slugify==4.0.1->-r requirements.txt(第 484 行))

但是,似乎python-slugify 早在这成为问题之前就已成为我项目的依赖项。

  • 我不认为依赖项可以声明它们需要哈希。还要检查您的环境变量。它可能是PIP_REQUIRE_HASHES 或类似的。
  • 你用的是什么版本的点子?我的 pip 始终包含带有错误消息的受影响包的列表。
  • 我正在使用 pip 21.3.1。
  • 我检查了我的 dockerfile,那里似乎没有指定 PIP_REQUIRE_HASHES 的曲调。

标签: python python-3.x pip


【解决方案1】:

当您的任何包在您的requirements.txt 中包含哈希时,pip 将在安装依赖项时自动使用--require-hashes 标志。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-28
    • 2014-01-24
    • 1970-01-01
    • 2020-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-28
    相关资源
    最近更新 更多