python:我应该将 virtualenv 代码检查到 git 中吗?
Posted
技术标签:
【中文标题】python:我应该将 virtualenv 代码检查到 git 中吗?【英文标题】:python: should I check the virtualenv code into git? 【发布时间】: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 与您实际使用的内容保持同步,如果它仅适用于其他开发人员,这没什么大不了的如果有一些他们并不真正需要的包。
【参考方案1】:
不,您不会将任何可以轻松生成的内容放入存储库中。并且 virtualenvs 与您的系统相关联;你不能在另一个上重复使用它。
存储requirements.txt
文件和说明如何在 git 中创建 virtualenv 的 README,每次需要在新机器上进行开发设置时,从头开始创建 virtualenv。
【讨论】:
以上是关于python:我应该将 virtualenv 代码检查到 git 中吗?的主要内容,如果未能解决你的问题,请参考以下文章
如何从 virtualenv 中的 python 脚本运行 Tensorboard?
为啥我不应该将 virtualenv 推送到 Heroku?
我可以将 Python windows 包安装到 virtualenvs 中吗?