2012-03-22 57 views
0

我们有多个彼此依赖的Python项目。从层次上看,它们是这样组织的:用于部署和/或分发的多个Python项目组织

 
P1 
P2 
... 
Pn 

其中每一个都是Eclipse中的PyDev项目,它们在该环境中很好地共存。我们正在构建构建流程,以便我们部署这些流程并以更系统的方式分发这些流程。目前,我们只是压缩这些项目并将其复制以供部署。

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

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

这是否合理?这种方法我遇到了一些问题。有没有人有任何其他想法如何做到这一点?

回答

1

关于如何打包应用程序存在不同的哲学,但大多数Python开发人员都坚持极简主义的方法。换句话说,你可以打包最小的逻辑单元。

因此,您的目标不应该是把所有东西都塞在一起,而是要将每个独立的应用程序分开打包。通过应用程序,在这里,我并不是说每个Django应用程序都是必需的,但将一些应用程序分发到他们自己的包中也可能是值得的。

这实际上都是关于可重用性。任何可以用于其他场景的作品都应该有自己的软件包。然后,您可以将它们设置为依赖于他们需要的任何其他软件包。

+0

感谢您的反馈。因此,就上述设置而言,由于我们无法将单个项目分解为更小的单元,因此您是否会推荐将每个单独的项目分别打包? – pingping 2012-03-22 17:12:20

+0

我真的不知道Eclipse项目是什么,但从distutils的角度来看,如果它有一个名称,一个版本和一组文件,它就是一个项目。写一个setup.py并滚动。 – 2012-03-23 02:58:29