Pyinstaller創建linux下Python的獨立可執行文件

如下內容假定已安裝好Python 2.4/2.5
1、下載並編譯pyinstaller(只需作一次,之後可直接作第二步)
1.下載pyinstaller,如今的版本是1.3
(1)wget http://pyinstaller.hpcf.upr.edu/source/1.3/pyinstaller_1.3.tar.gz

2.解包進入源碼目錄
(1)tar zxv pyinstaller_1.3.tar.gz
(2)cd pyinstaller-1.3/source/linux

3.編譯源代碼
(1)python Make.py 生成python的 .pyc文件

如無錯誤,則出現以下提示(只有一行):
Now run "make" to build the targets: ../../support/loader/run ../../support/loader/run_d

(2)make 鏈接生成linux的 .o 文件

4.生成編譯配置文件
(1)python Configure.py 生成config.dat配置文件

2、編譯獨立運行的python可執行文件

1.生成spec文件
python pyinstaller-1.3/Makespec.py --onefile --upx linuxlaptop.py

參數說明:
--onefile 生成單文件
--upx 生成壓縮的文件(可減少執行文件體積,需先安裝upx軟件包)


2.生成最終的可執行文件
python pyinstaller-1.3/Build.py linuxlaptop.spec

執行完成後將在當前目錄生成可執行的linuxlaptop文件,若有問題歡迎與我交流:linuxlaptop.cn。
原文:http://bbs.chinaunix.net/thread-1328460-1-1.html

============================我的實踐=============================
系統:Ubuntu 8.0.4
安裝相關包:apt-get install libc6-dev python-dev zlib1g-dev
cd source/linux
python ./Make.py
makehtml

引用

cd ../../
python Configure.py
/pyinstaller-1.3/Makespec.py --onedir --icon=img/imac.ico my.py
python /pyinstaller-1.3/Build.py my.spec


這時會提示pyinstaller-1.3中的幾個包語法錯誤,估計源碼包是在window下調試產生unix不識別的字符,典型的是換行符。
安裝dos2unix:sudo apt-get install tofrodos
dos2unix /pyinstaller-1.3/pyinstaller-1.3/optparse.py......(6個文件左右)

再運行:python /pyinstaller-1.3/Build.py my.spec
搞定,生成了distmy目錄,裏頭有好多.o文件,相似於win下的dll:)python