【问题标题】:How to update requirements?如何更新需求?
【发布时间】:2019-09-25 11:50:24
【问题描述】:

我想知道如何使用 cookie 切割器使用的多需求文件设置(基本、本地等)更新过时的需求?

如果我启动“pip freeze”,它将把需求写在一个文件中。它不会将它们发送到正确的文件中

我错过了什么吗?

【问题讨论】:

  • 不幸的是,我担心您必须手动处理。安装新包时,请记住将其添加到具有所需版本的正确需求文件中。它也更干净一些,因为pip freeze 倾向于编写子依赖项(您的依赖项的依赖项)。
  • Pipenv 可能会帮助您解决该问题,但仍需要手动迁移才能使用它。 github.com/pypa/pipenv
  • 所以过程是: - pip list --oudated 查看升级候选 - pip install --upgrade - pip freeze > requirements.txt 冻结 - 手动拆分 requirements.txt 条目正确的文件 - 在提交之前删除 requirements.txt :)
  • 这就是为什么我不喜欢拥有不同的requirements 文件,就像他们在cookiecutter-django 中所做的那样。也许您可以从这种方法中获得灵感:kennethreitz.org/essays/a-better-pip-workflow

标签: python django cookiecutter-django


【解决方案1】:

您可以使用以下命令更新所有过时的 Python 模块:

Linux:

pip list --outdated --format=freeze | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 pip install -U 

Windows(Powershell):

pip freeze | %{$_.split('==')[0]} | %{pip install --upgrade $_}

在此之后,您必须更新您的requirements.txt

pip freeze > requirements.txt

如果你使用Pipenv

pipenv shell
pipenv update

【讨论】:

    猜你喜欢
    • 2017-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多