【问题标题】:Maintaining different requirements files for virtualenv and pip为 virtualenv 和 pip 维护不同的需求文件
【发布时间】:2014-08-12 20:32:46
【问题描述】:

我知道我可以使用pip freeze 来帮助创建我对虚拟环境的要求列表,但是我在管理我的所有不同包时遇到了一些困难。

我想将一些包分开用于开发和生产,而生产和开发需求文件很难处理,因为我使用了这么多包(其中许多是彼此通用的)。我怎样才能更有效地保留我的生产和开发包是分开的吗?

【问题讨论】:

    标签: python bash pip virtualenv


    【解决方案1】:

    您可以使用以下方法将一个需求文件包含到另一个文件中:

    -r more_requirements.txt
    

    例如,dev-requirements.txt 文件可以包含生产需求以及额外的开发包:

    -r requirements.txt
    mock
    tox
    

    (等等)

    【讨论】:

    • 我可以把它放在状态吗?我不想在 heroku(生产)上安装一些应用程序,但似乎第一个解决方案不适用于 heroku - 无法检测到 buildpack
    【解决方案2】:

    一点都不难。

    假设您有一个生产需求文件:production.txt 和一个开发需求文件:development.txt。创建第三个文件shared.txt,它具有所有共同的依赖关系。然后,在每个相应的需求文件中,列出您所需环境独有的依赖项。在development.txtproduction.txt 的头部,使用-r shared.txt 链接到您的shared.txt。现在,每个文件将在加载独占依赖项之前加载公共依赖项。

    例子:

    shared.txt

    SharedExamplePackage1
    SharedExamplePackage2
    SharedExamplePackage3
    SharedExamplePackage4
    SharedExamplePackage5
    

    development.txt

    -r shared.txt
    DevExamplePackage1
    DevExamplePackage2
    

    production.txt

    -r shared.txt
    ProductionExamplePackage1
    ProductionExamplePackage2
    ProductionExamplePackage3
    

    【讨论】:

      猜你喜欢
      • 2012-02-11
      • 2013-08-12
      • 1970-01-01
      • 2014-06-17
      • 1970-01-01
      • 2013-05-03
      • 1970-01-01
      • 2011-03-18
      • 1970-01-01
      相关资源
      最近更新 更多