【发布时间】:2015-08-31 01:12:32
【问题描述】:
所以我正在使用 virtualenv 开发一个烧瓶应用程序。我有一棵这样的树:
./app - view, model, etc
./flask - virtualenv
显然app 是由 git 管理的。我的问题是:我应该对flask 做同样的事情吗?
【问题讨论】:
-
理想情况下,您将项目的需求保存到您添加到版本控制的 requirements.txt 文件中。您可以使用
pip freeze > requirements.txt做到这一点。这样您就不会将大包签入到版本控制中。 -
我不建议使用
pip freeze。它输出已安装的包,也许其中一些我们根本不使用;其中一些将由其他软件包安装(如果要安装flask,将安装jinja2),因此不必全部包含。 -
@lord63.j 我通常为其他开发人员包含一个
requirements.txt(即包括pylint、Sphinx之类的东西),但指定包最终用户需要install或test,在setup.py。如果您在 virtualenv 中开发,pip freeze将只是您用于该项目的包,这让生活更轻松。 -
@jonrsharpe
pip freeze输出已安装的软件包。如果我们使用libA然后我们改用libB,除非你卸载libA,否则会在requirements.txt;一些我们只是想尝试的包怎么样,比如我们尝试了nose然后找到pytest,最后使用pytest。所以,我的意思是使用pip freeze可能包含一些不必要的包。 -
@lord63.j 确实如此,但这只是让您的 virtualenv 与您实际使用的内容保持同步,如果它仅适用于其他开发人员,这没什么大不了的如果有一些他们并不真正需要的包。
标签: python