【发布时间】: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