2015-10-26 85 views
0

我正在将整体项目代码库拆分为几个较小的项目。我很难理解如何正确处理不同项目之间的依赖关系。Python多项目构建

的结构看起来有点像这样:

SCM_ROOT 
|-- core 
| |-- src 
| `-- setup.py 
|-- project1 
| |-- src 
| `-- setup.py 
|-- project2 
| |-- src 
| `-- setup.py 
`-- project3 
    |-- src 
    `-- setup.py 

什么是处理多包项目和设置之间的相关开发环境的推荐的方法?我使用pip,virtualenv和requirements.txt文件。是否有任何工具可以让我快速从存储库引导环境?

回答

1

使用像Pybuilder或Pants这样的构建工具不必使复杂的过程。我最终将它分成了多个svn项目 - 每个项目都有自己的trunk/tags/branches目录。根据herehere的信息,使用install_requires和requirements.txt文件的组合来处理依存关系。每个项目都有一个fabfile来运行常见任务,如清理,编译,上传到pypi等。