Django中安装的应用程序 - 版本怎么样?

ric*_*ick 1 python django version-control

在查看Practical Django Projects的可重用应用程序章节并听取DjangoCon(Pycon?)讲座之后,似乎强调通过将应用程序安装到Python路径(即site-packages)来使您的应用程序可插入.

我不明白的是,当其中一个安装的应用程序的版本发生变化时会发生什么.如果我更新安装到site-packages的其中一个应用程序,那么这不会打破我使用它的所有当前项目吗?我从来没有注意到settings.py中的任何内容,您可以指定要导入的应用程序的版本.

我认为在Ruby/Rails中,他们能够在这种情况下冻结宝石.但是我们应该在Python/Django中做些什么呢?

Ken*_*old 5

拥有同一个软件包的多个版本会变得混乱(尽管如此,setuptools可以做到这一点).

我发现将每个项目都放在自己的位置会更清晰virtualenv.我们使用它virtualevwrapper来轻松管理virtualenvs,以及--no-site-packages使每个项目真正自包含并可跨机器移植的选项.

这是mod_wsgi服务器推荐设置.