在使用virtualenv时我应该提交/ bin目录吗?

时间:2016-06-16 23:09:00

标签: python git project virtualenv setuptools

我正在开始我的第一个实际的python项目。我遵循“以艰难的方式学习Python”来创建一个初始Python skeleton,我也在使用virtualenv。

现在我想使用git来进行版本控制。根据SO中的一些先前的问题,我不建议提交任何virtualenv文件。相反,我可以使用pip freeze > requirements.txt,并使用.gitignore忽略virtualenv目录。

但是,virtualenv和Python项目框架都需要一个/bin目录,我也应该提交它吗? (实际上我真的不知道/bin在Python项目中扮演的角色

如果我的流程设置了一个Python项目有问题,请提出任何建议,请更正我。

1 个答案:

答案 0 :(得分:2)

yourproject/binyourproject/env/bin不同,其中yourproject/env是虚拟环境的目录(根目录中都不是/bin)。您应该忽略env中的所有内容,实际上,您的项目应该适用于未使用虚拟环境或以不同方式管理的人。否则,你就失去了好处。

让我们想象您完成项目的第二步,我想将它用于新任务。我用自己的virtualenv开始一个新项目,并安装一些我想要使用的其他组件,然后安装你的。哎呀,现在我有一个比我开始使用的旧版本的Python,并且两年前deactivate中的错误以某种方式得到了复活。想象一下调试,更不用说发现你的项目替换了我的一些文件的烦恼。

(正如这些,bin目录是虚拟环境的一个非常静态的部分;切换我的私有env的其他部分会更具破坏性。如果你提交{{1}你会阻止我在你之前安装任何其他组件。)