【发布时间】:2014-08-12 20:32:46
【问题描述】:
我知道我可以使用pip freeze 来帮助创建我对虚拟环境的要求列表,但是我在管理我的所有不同包时遇到了一些困难。
我想将一些包分开用于开发和生产,而生产和开发需求文件很难处理,因为我使用了这么多包(其中许多是彼此通用的)。我怎样才能更有效地保留我的生产和开发包是分开的吗?
【问题讨论】:
标签: python bash pip virtualenv
我知道我可以使用pip freeze 来帮助创建我对虚拟环境的要求列表,但是我在管理我的所有不同包时遇到了一些困难。
我想将一些包分开用于开发和生产,而生产和开发需求文件很难处理,因为我使用了这么多包(其中许多是彼此通用的)。我怎样才能更有效地保留我的生产和开发包是分开的吗?
【问题讨论】:
标签: python bash pip virtualenv
您可以使用以下方法将一个需求文件包含到另一个文件中:
-r more_requirements.txt
例如,dev-requirements.txt 文件可以包含生产需求以及额外的开发包:
-r requirements.txt
mock
tox
(等等)
【讨论】:
一点都不难。
假设您有一个生产需求文件:production.txt 和一个开发需求文件:development.txt。创建第三个文件shared.txt,它具有所有共同的依赖关系。然后,在每个相应的需求文件中,列出您所需环境独有的依赖项。在development.txt 和production.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
【讨论】: