一、项目的打包过程如下:
python tools/install_venv.py
tools/with_venv.sh python setup.py develop
sudo tools/with_venv.sh apptree-api --config-file=etc/development/apptree.conf
virtualenv用于创建独立的Python环境,多个Python相互独立,互不影响,它能够:
1) 在没有权限的情况下安装新套件
2)不同应用可以使用不同的套件版本
3) 套件升级不影响其他应用
二、相应的原理:
(1)第一句话:运行tools下面的install_venv.py 来创建一个虚拟的运行环境
(2)第二句话:一个项目引用了很多app,那么这个项目所需要的css,images等静态文件是分散在各个app的static文件的,比较典型的是admin应用。当你要发布时,需要将这些分散的static文件收集到一个地方就是STATIC_ROOT。运行develop会将js,css进行压缩。
拓展:
python setup.py install:主要是安装典型第三方包,这种包比较稳定,不再需要你去编辑、修改或是调试。
python setup.py develop:当你安装一个包后,这个包需要你不断修改,这样你就不得不重新安装,这时就采用这种安装方法。
(3)同理的,安装相应的tools/with_venv.sh下项目的api,并且指定项目的配置位置config-file=etc/development/apptree.conf