用于部署和/或分发的多个Python项目组织

时间:2012-03-22 16:16:41

标签: python django deployment distutils project-organization

我们有多个彼此依赖的Python项目。在层次上,这些组织如下:

P1
P2
...
Pn

这些都是Eclipse中的PyDev项目,它们在该环境中共存。我们正在构建构建过程,以使我们能够以更系统的方式部署这些过程并进行分发。目前,我们只是压缩这些项目并将其复制以进行部署。

我需要一些关于如何使用distutils来完成这项任务的建议。我们的目标是使用distutils构建一个zip文件(或tar文件)的脚本,其中包含项目P1到Pn中所有必需的代码和必要的数据/属性。然后,我们应该能够使用setup.py进行部署,并让我们基于DJango的Web层访问它。

我的第一个尝试是创建一个项目,其唯一目的是构建部署工件。这将与项目P1到Pn平行,称为PBuild。

这看起来合情合理吗?我对这种方法有一些问题。有没有人对如何做到这一点有其他想法?

1 个答案:

答案 0 :(得分:1)

关于如何打包应用程序有不同的理念,但大多数Python开发人员都遵循非常简约的方法。换句话说,你可以打包最小的逻辑单元。

所以,你的目标不应该是把所有东西塞进去,而是分开包装每个独立的应用程序。通过应用程序,在这里,我并不一定意味着每个Django应用程序,虽然将一些应用程序分解到自己的包中也可能是值得的。

这完全是关于可重用性的。任何可以在某些其他场景中起作用的部分都应该有自己的包。然后,您可以将它们设置为依赖于它们所需的任何其他包。