python项目打包过程及原理

一、项目的打包过程如下:

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 develop:当你安装一个包后,这个包需要你不断修改,这样你就不得不重新安装,这时就采用这种安装方法。

(3)同理的,安装相应的tools/with_venv.sh下项目的api,并且指定项目的配置位置config-file=etc/development/apptree.conf