saturn
│
├── saturn -->组件名称
│ ├── controllers -->组件主要业务逻辑
│ ├── models -->数据模型及数据库交互
│ ├── settings -->组件设置项常量等信息
│ ├── utils -->工具集模块
│ ├── libs -->第三方模块或工具集
│ │ ├── db
│ │ └── logger
│ ├── api -->组件接口层
│ │ ├── v1 -->http接口
│ │ └── rpc -->rpc接口
│ └── app.py
├── manage.py
├── setup.py
│
├── database -->项目初始化的表结构
├── docs -->文档
├── crons -->项目定时任务
├── scripts -->项目的脚本(shell或python脚本)
├── tools -->脚本工具集
├── tests -->项目单元测试用例
├── requirements -->项目依赖
│
├── setup.cfg -->lint配置
├── Makefile
└── README.md
- Python 2.7:
brew install python
- Upgrate:
pip install -U setuptools pip
- Virtualenv:
pip install -U virtualenv
- MySQL:
brew install mariadb
$ cd /path/to/saturn
$ virtualenv -p python2.7 venv
$ . venv/bin/activate
$ make pip
$ cp .env.example .env
$ vim .env
$ . venv/bin/activate
$ honcho start
$ . venv/bin/activate
$ honcho run ipython
$ . venv/bin/activate
$ make lint
$ make unittest
$ make apittest
项目依赖、数据库表结构等应用配置信息一样被版本控制,变更也应该被提交到版本库。
Python 依赖存放在requirements文件夹中:
base.in
: 运行时依赖dev.in
: 开发工具testing.in
: 测试工具和测试环境依赖
管理依赖时,应该编辑 *.in
文件并运行 make compile-deps
以更新
*.txt
,然后将变更提交入版本库。
生产环境应该被假设只安装 base.txt
中的依赖。