pip-compile有什么作用?它有什么用?

我是编程和python的初学者。我在 pip-tools 文档中阅读了 pip-compiles 定义,但我无法理解。有人可以向我解释这个吗?更具体地说,编译requirements.in 以生成requirements.txt 是什么意思?

回答

您希望能够锁定requirements.txt文件中Python 代码所依赖的所有包的版本。您希望此文件不仅包含代码直接导入的直接依赖项的版本,还包含所有传递依赖项的版本……即您直接依赖的模块本身所依赖的模块版本。

所以问题是......你如何维护“requirements.txt”的内容?您可以使用pip freeze > requirements.txt,但这很麻烦。它不取决于您的应用程序的直接依赖项的明确列表,而是取决于创建时您的环境中发生了什么。您真正想要的是有一个文件,您可以在其中列出应用程序的直接依赖项以及每个依赖项的版本,然后以某种方式requirements.txt从该列表中生成适当的文件,以便它也包含这些直接依赖项的准确版本作为那些直接依赖项所需的传递依赖项的版本。

requirements.in文件和pip-compile一起为您提供了这种所需的行为。在 中requirements.in,您仅列出应用程序的直接依赖项。然后pip-compile在该文件上运行以生成requirements.txt. 编译过程将生成您想要的内容...一个文件,其中包含 中列出的模块requirements.in以及这些模块的传递依赖项。


以上是pip-compile有什么作用?它有什么用?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>