使用python撰寫程式後,開始安裝到系統,這中間還是大有學問的。
一般的做法是包成package如下圖,執行python setup install. 你的程式就可以放到OS上指定的目錄,之後就可以用import的方式當作lib使用。
這方法是寫python程式時大家最常用到的方法。
一個大問題是,source code還在系統中,對於你是做一個enterprise的產品來說,這中間還需要一些事情要做
1. 變成deb檔(用ubuntu為範例):
在deploy整個系統時,變成deb檔是能夠很有效管理你的deploy程序
2. 刪除py檔,保留pyc檔
系統中,你的程式碼將會受到保護,不會讓人看到你的Source Code.
如何做:
在ubuntu 14.04的server中,安裝所需要的套件
apt-get install -y ruby1.9.3 build-essential
gem install fpm -v 1.1.0
除此之外你還需要已經做好的package,如上圖
整個目錄結構與目錄中的檔案可能是這樣
產生一個Makefile如下,並放到主目錄中
#!/usr/bin/make -f
NAME=flysatellite
all: clean package
package:
fpm -s python -t deb -a amd64 -d python \
-x '**/*.py' -x '**/test' -x '**/tests' \
--deb-upstart upstart/fs-flysatellite.upstart \
--python-package-name-prefix fs \
setup.py
clean:
rm -rf dist build fs-$(NAME)*.deb usr *.egg-info
接著你可以執行make
你會看到產生出來的deb檔 fs-flysatellite_0.05_amd64.deb
很簡單吧
裝看看
dpkg -i fs-flysatellite_0.05_amd64.deb
裝完後看看安裝的目錄為怎樣
完成了
你的source code只剩下 .pyc檔
opensource 是你最好的朋友