维护virtualenv和pip的不同需求文件

时间:2014-06-22 19:52:52

标签: python bash pip virtualenv

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

我希望将一些软件包分开用于开发和生产,因为我使用了很多软件包(其中许多软件包彼此通用),所以拥有生产和开发需求文件是不实用的。我怎样才能更有效地保存我的生产和开发包分开了?

2 个答案:

答案 0 :(得分:7)

一点也不困难。

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

示例:

<强> shared.txt

SharedExamplePackage1
SharedExamplePackage2
SharedExamplePackage3
SharedExamplePackage4
SharedExamplePackage5

<强> development.txt

-r shared.txt
DevExamplePackage1
DevExamplePackage2

<强> production.txt

-r shared.txt
ProductionExamplePackage1
ProductionExamplePackage2
ProductionExamplePackage3

答案 1 :(得分:5)

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

-r more_requirements.txt

例如,dev-requirements.txt文件可以包含生产要求以及其他开发包:

-r requirements.txt
mock
tox

(依此类推)