使用VirtualEnv集中管理Django

时间:2016-03-02 16:40:49

标签: python django virtualenv

我有一台服务器运行几个不同的Django网站,运行不同版本的Django。昨天,Django issued security updates for 1.8 and 1.9。这意味着,为了保证一切安全,我必须访问每个网站并更新正在运行的Django版本。

由于Django在版本控制方面表现非常出色(即在小版本之间发生了变化,例如1.8-1.9,但在版本之间没有,如1.9.2-1.9.4),似乎我应该能够每个次要版本的中央Django安装,1.7,1.8,1.9等

有没有办法让VirtualEnv针对特定的安装,这样我就可以让所有运行Django 1.8的网站只安装一次,同样适用于1.9?

3 个答案:

答案 0 :(得分:2)

一种解决方案是使用virtualenvwrapper中的add2virtualenv

简单地说,为共享的django版本创建一些virtualenvs(当然,为一个django主要版本创建一个virtualenv)和每个virtualenvs调用命令:

add2virtualenv /path/to/shared/virtualenv/lib/python3.4/site-packages

将路径替换为共享virtualenv(以及必要时的python版本)与您要使用的路径。

add2virtualenv具有永久效果,因此在激活virtualenvwrapper后无需再次调用它。

答案 1 :(得分:1)

可能采取的一种方法是从site-packages目录中对符号链接django。但这似乎是各种粗略的。

至于我自己?我只需安装SaltStack,因为您可以manage virtualenvs with it

答案 2 :(得分:-2)

这不就是requirements.txt的用途吗?您可以将Django的版本指定为“> = 1.8,< 1.9”,然后您就知道升级将始终安装最新的1.8版本修正版,但不会安装1.9版本。