我正在研究使用 pipenv 和这里的文档
https://pipenv.pypa.io/en/latest/basics/#importing-from-requirements-txt
它说(强调我的)
请注意,在导入需求文件时,它们通常会固定版本号,您可能 不希望这样
为什么是这样?
我知道 Pipfile.lock 文件将存储我安装的依赖项的特定版本和哈希值,但我不想看到 Pipfile 中安装的特定版本吗? (就像我使用 requirements.txt 一样?)
原文由 w– 发布,翻译遵循 CC BY-SA 4.0 许可协议
文档对您将版本固定在需求文件中的可能原因颇有意见:它可能来自
pip freeze > requirements.txt
。当然,您需要在
Pipfile
中指定部分或全部版本范围,只是很多人将它们固定在requirements.txt
中,因为他们过去常常将其视为一种Pipfile.lock
,指定甚至不是直接依赖项的软件包版本。当然,如果您没有遵循这种做法,则不必担心该警告。这很可能是 Kenneth Reitz(Pipenv 的创建者)自己之前这样做的结果,正如他的博客文章 A Better Pip Workflow 中提到的那样。他已经在官方 资料库 中询问并回答了对此事的澄清。
2018 年 6 月更新
该消息过去也被
pipenv
命令打印为警告,但已被替换为更友好一点,但我认为它仍然含蓄地说在 Pipfile 上固定版本并不理想,这是不正确的。完全没问题。