我正在和一位朋友合作开发一个我们想要分发的web应用程序,我们正在Django上工作。
我希望确保潜在用户的部署尽可能简单。似乎Django使用了很多共享的安装库,我希望人们只需要下载我们的最新版本,解压缩,编辑一两个配置文件,然后开始使用,就像wordpress等。
我习惯了ruby on rails风格的部署,您可以将gem和插件放入供应商目录中,这就是您需要依赖的全部内容。
在捆绑所有依赖项的情况下部署应用程序的类似django方法是什么?我不希望在安装后必须使用像easy_install这样的东西来拉下依赖项。
This Python Stack Overflow Answer似乎走在了正确的道路上,但有没有一条django特定的道路可以走?这是一个已解决的问题吗?
发布于 2009-11-04 10:37:21
这是Django“可重用应用”的最大限制之一。在一两周前的“Django的这一周”播客上,他们讨论了这个确切的问题。似乎大家的共识,我也同意,是真的没有解决方案。
如果你看看Pynax,它可能是最大的分布式Django项目,你会看到他们正在将应用程序与整个系统捆绑在一起。
Python本身有几个包发行版。我知道ActiveState正在着手启动另一个。但即便如此,并不是所有的django应用都是打包的。许多只能在bitbucket、github或google源中找到。即使到那时,要获得所有这些内容的副本,也需要安装mercurial、git和svn。(废话@那个)
你基本上有两个选择:
的文档
我知道,这是一份伤感的清单。它实际上很糟糕,特别是在使用ruby gem系统之后,但目前我不确定你还能找到什么更好的。
如果感兴趣,我写了一篇简短的博客文章,介绍如何将依赖项保存在项目的文件夹中(或SVN中),然后将该路径添加到django开头的Python的搜索路径中。( Managing Django Dependencies via SVN )它搞砸了Komodo Edit的智能感知,但在其他方面它确实让事情变得更容易。
发布于 2009-11-04 10:48:38
这里最好的选择是使用pip。pip是一个用于安装python包的实用程序。它允许您创建列出项目依赖关系的需求文件。pip是Django社区非常普遍和广泛使用的工具,我强烈建议您使用它。
正如T.Stone提到的Pinax,基于Django的项目有许多依赖项,并且它们成功地利用了pip需求文件。
https://stackoverflow.com/questions/1671375
复制相似问题