Python 源代码管理中的Virtualenv

Python 源代码管理中的Virtualenv,python,virtualenv,Python,Virtualenv,也许这更像是一个基于观点的问题,但我想知道是否应该将virtualenv的内容包含在GitHub存储库中。为什么应该包括它或不应该包括它?不,可以生成的任何内容都不应该包括在内 应该使用类似pip的方法来管理依赖关系,并且可以包括requirements.txt文件 源代码管理下的唯一文件应该是使开发环境正常运行绝对需要的文件。因此,它可以包括某种引导,也就是说,您可以编写虚拟环境的创建脚本,这将是克隆后运行的第一件事 还考虑虚拟环境中包含二进制文件。您绝对不希望这些内容出现在您的存储库中 正如

也许这更像是一个基于观点的问题,但我想知道是否应该将
virtualenv
的内容包含在GitHub存储库中。为什么应该包括它或不应该包括它?

不,可以生成的任何内容都不应该包括在内

应该使用类似pip的方法来管理依赖关系,并且可以包括requirements.txt文件

源代码管理下的唯一文件应该是使开发环境正常运行绝对需要的文件。因此,它可以包括某种引导,也就是说,您可以编写虚拟环境的创建脚本,这将是克隆后运行的第一件事

还考虑虚拟环境中包含二进制文件。您绝对不希望这些内容出现在您的存储库中


正如下面@JeremyBank所指出的,您的虚拟环境也可能因系统而异,这意味着您的虚拟环境将不可移植。

在这种情况下为什么不呢?@david该目录可以包含专门为当前系统生成的文件,可能具有硬编码路径或链接库,无法在其他系统上工作。它不是为了便于携带。相反,您应该包括一些指定virtualenv中必要的依赖项信息的方法,可以作为包规范或需求文件,因为它们是可移植的。(但是,老实说,如果你只是在一个项目上使用一个单独的系统,包括Env的源代码控制就方便了。)JealyyBoots,我甚至没有考虑到当前系统特有的文件…但是,OSX、Linux和Windows的虚拟环境将是完全不同的,这是有道理的