【问题标题】:How to auto update requirements.txt when a new/updated package is installed安装新/更新包时如何自动更新 requirements.txt
【发布时间】:2021-10-19 16:18:10
【问题描述】:

当我安装/更新软件包时,我将如何自动更新 requirements.txt 文件?

我的主要想法是,当我将更新推送到 git 时,它会自动创建 requirements.txt 文件(或类似的东西)。

我知道市面上有很多第 3 方工具,但似乎也没有一个可以做到这一点:pipreqs、pipenv、诗歌。

【问题讨论】:

  • 这听起来很有趣。你希望 git 如何知道应该添加或更改哪些包?这似乎不是 git 可以知道的。您可能可以在提交而不是推送时使用 git 钩子。但这似乎有风险,除非你有一个完整的测试套件来发现任何重大变化。
  • 如果不是 requirements.txt,您的需求(从中生成文件)的表示形式是什么?
  • Ig 它不一定要通过 git,但这只是一个想法。也许有些东西可以检查 venv 与 requirements.txt 的当前版本,看看是否有任何变化并自动更新?

标签: python pip requirements.txt


【解决方案1】:

诗歌就是这样做的。它有一个pyproject.toml 文件,您可以在其中声明依赖项。这可以手动编辑,或者在您执行poetry add 时更频繁地更新。然后有一个poetry.lock 文件,其中包含所有依赖项的版本信息,包括直接的和传递的。每当您运行 poetry install 时,此文件都会更新。如果您定期运行poetry install 来更新您的依赖项,那么您可以将更改提交到锁定文件。

根据您在pyproject.toml 中用于依赖版本的确切语法,poetry install 可以更新到最新的依赖补丁。我认为它将更新到最新的次要版本。但它不会自动更新到新的主要版本,因为这些可能会引入需要人工注意的重大更改。

【讨论】:

    猜你喜欢
    • 2018-03-08
    • 1970-01-01
    • 2018-08-22
    • 2017-05-08
    • 2018-12-28
    • 2020-01-27
    • 2019-01-01
    • 2015-07-22
    • 1970-01-01
    相关资源
    最近更新 更多