Mar*_*tin 77 python django mercurial virtualenv
我最近开始了一个Django项目,我很快意识到virtualenv真的很有用,原因很多.我设置了virtualenv和我的项目,但现在我想知道我应该添加到源代码控件的文件(在我的例子中,Mercurial).我应该在venv文件夹下添加所有文件吗?如何确保同事可以克隆并立即开始工作而不必再次设置env?
Chr*_*att 93
您生成一个"需求"文件(通常requirements.txt
),您提交项目:
pip freeze > requirements.txt
Run Code Online (Sandbox Code Playgroud)
然后,每个开发人员将设置自己的virtualenv并运行:
pip install -r requirements.txt
Run Code Online (Sandbox Code Playgroud)
当你进行python/django开发时,所有这些环境麻烦都很常见!我解决了所有这些问题,并测试了一些解决方案!我测试的东西:
我找到的最佳解决方案是#4!因为我以前工作的公司,团队中的每个人都有不同的操作系统,所有类型的windows,mac和linux,并为每个环境安装所有依赖项需要时间!所以我们决定尝试virtualenv,这真的很棒!但仍然每个人都必须建立自己的环境.virtualenv中的问题是所有python源都在你创建的环境中!所以我不会将这些文件推送到源版本控件!最好的解决方案是#4,因为这正是我所需要的,Vagrant使用Chef来设置你的环境,所以你只需要编写一些食谱,并让流浪者为你运行它们!则U推动这些食谱SCM,那么当旁边的人得到SCM中的文件并重新加载虚拟机所有的依赖将被自动安装!
我有一篇博客文章解释了关于这个主题的更多信息以及我在github中创建了一个Django Blank项目,所以你可以使用vagrant获得项目的起点.
http://arthurnn.com/blog/2011/11/25/easy-django-quickstart/(链接不再有效,因此链接到Wayback Machine)
编辑
来自Chris Pratt的解决方案也是一个很好的解决方案,但是有些库并不是那么容易安装在所有操作系统中,例如,许多Mac用户在想要安装MySQLdb-python时遇到问题.这是一个非常普通的图书馆,但如果团队中的每个人都花时间解决这个问题,那就不好了!
归档时间: |
|
查看次数: |
12046 次 |
最近记录: |