我正在开始我的第一个实际的python项目。我遵循“以艰难的方式学习Python”来创建一个初始Python skeleton,我也在使用virtualenv。
现在我想使用git来进行版本控制。根据SO中的一些先前的问题,我不建议提交任何virtualenv文件。相反,我可以使用pip freeze > requirements.txt
,并使用.gitignore
忽略virtualenv目录。
但是,virtualenv和Python项目框架都需要一个/bin
目录,我也应该提交它吗? (实际上我真的不知道/bin
在Python项目中扮演的角色
如果我的流程设置了一个Python项目有问题,请提出任何建议,请更正我。
答案 0 :(得分:2)
yourproject/bin
与yourproject/env/bin
不同,其中yourproject/env
是虚拟环境的目录(根目录中都不是/bin
)。您应该忽略env
中的所有内容,实际上,您的项目应该适用于未使用虚拟环境或以不同方式管理的人。否则,你就失去了好处。
让我们想象您完成项目的第二步,我想将它用于新任务。我用自己的virtualenv开始一个新项目,并安装一些我想要使用的其他组件,然后安装你的。哎呀,现在我有一个比我开始使用的旧版本的Python,并且两年前deactivate
中的错误以某种方式得到了复活。想象一下调试,更不用说发现你的项目替换了我的一些文件的烦恼。
(正如这些,bin
目录是虚拟环境的一个非常静态的部分;切换我的私有env
的其他部分会更具破坏性。如果你提交{{1}你会阻止我在你之前安装任何其他组件。)