一、項目的打包過程如下:
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