用pyinstaller把python源程序打包成exe 不指定

root , 2007/08/21 23:58 , Python , 评论(1) , 阅读(19059) , Via 本站原创 | |
    可將Python程式轉換成單獨的執行檔。執行的電腦上就不用安裝整套的Python了。
跨平台。目前可以在Windows, Linux及Irix下面執行並製作執行檔。
支援多種版本的Python。可以從Python 1.5支援到目前的2.4。或甚至更新的版本。
雙重包裝模式:
單一路徑模式。可將所有相關的Python所需要的dll或是執行碼置於同一個目錄中。
單一執行檔模式。將所有的東西變成一個很大的單一執行檔。
支援UPX的執行檔壓縮。
可選擇的終端機文字輸出。可用來查看stdout及stderr的訊息。
可更換的執行圖示(僅於Windows上支援)。
完整的版本資訊設定(僅於Windows上支援)。
支援COM server的建立(僅於Windows上支援)。
PyInstaller與另外一套py2exe最大的差別就是它還多了對Linux的支援。這對於Linux的使用者來說真是個天大的好消息。
PyInstaller 本身並不是一個Python module。所以安裝PyInstaller時,只要找一個路徑將它解開後放入即可。不過,這樣並不算安裝完成。下一步,您要讓PyInstaller 認識一下您系統上面的Python。如此一來,它才知道如何為您包裝您寫的Python Script。下面的步驟只有非Windows的使用者需要。Windows的使用者,因為Python本來就已經被編譯成pythonXX.dll了。所以PyInstaller將會直接取用這些dll。
進入您的PyInstaller的安裝目錄後,找一個叫做Make.py的檔案。執行它!
正常的狀況下,會產生下面兩個檔案:
support/loader/run
support/loader/run_d
如果您系統上有好幾個版本的Python。則執行Make.py的那個版本將會作為日後建立執行檔的依據。
接著執行在PyInstaller目錄中的Configure.py程式。它會將一些資訊儲存於config.dat中,以便日後使用。至此,您的PyInstaller可以說是安裝完畢了。接著就是要建立你的程式了。
首先,您的Python script應該已經通過某種程度的測試,並且準備要release給您的使用者。為了方便解說,我們假設您的script共有三個且放在同一個目錄下:
main.py
amodule.py
bmodule.py
當然,您的script內會import很多Python的模組,有些是Python預設的,也有些可能是您自行上網下載回來安裝的。這都沒有問題,只要您的程式確定可以正確的使用他們即可。
接著在您的目錄下執行下面的指令。
> python /Makespec.py main.py
如果成功,您將看到在目錄下面多了一個xxxx.spec檔案。他的檔名通常是您的script檔名稱,但是副檔名會換成.spec。這個檔案會被後面的步驟所使用。
Makespec.py有一些特別的參數可以使用,例如:想要做出單一的執行檔,可用下面的方式:
> python /Makespec.py --onefile main.py
我們將比較常用的參數列出:
--onefile           製作出獨立的執行檔
--onedir            製作出的檔案街放在同一個目錄下(預設值)
--tk                製作包含TCL/TK的檔案。
--windowed          製作視窗程式。(程式執行時不會有文字視窗出現)
--console           製作一般的console程式。
--upx               製作透過UPX壓縮過的執行檔。
--icon=   指定程式的圖示。
--version=    指定程式的版本資訊(需要準備一個檔案放這些資訊)。
--name=       指定程式的名稱。若無此選項,則主script檔案的名稱將被使用。
通常,完成後上面的步驟就不需要反覆執行。就算您又再度修改了source code,也只需要執行後面的動作就可以了。除非您重新變動了整個Python相關的環境。才需要再度執行前面的指令。
接下來的動作很簡單,您只要在程式的目錄下面執行下面的指令就可以了。
> python /Build.py
其中,spec file就是前面Makespec.py所製作出來的spec file。以前面的例子來說,這個命令將會是:
> python /Build.py main.spec
成功的話,您應該會在這個目錄下面看到一個名為dist的目錄。其中就是您的程式名稱。就前面的範例而言,就是distmain這個目錄。
在這個目錄裡面的就是您要給使用者使用的檔案。如果您前面有開啟--onefile的選項。這個目錄下面將只會剩下一個可執行檔。所以,通常我都是將這個目錄下的東西整個用ZIP或是RAR等壓縮工具壓起來,再找個地方讓使用者來抓取就可以了。
這篇簡介或許不長,但是絕大部分的程式可能單靠這篇簡介就夠用了。這也代表著PyInstsaller有多簡單易用了。也許日後有人會有時間幫它寫個GUI的front-end,那就會更簡單了。

------------------------win2000安装操作---------------------------
下载:http://pyinstaller.hpcf.upr.edu/
解压后运行:Configure.py
使用方法:
E:\python>python D:\python\pyinstaller-1.3\Makespec.py --onefile --console --icon=./bubble.ico mypy.py
E:\python>python D:\python\pyinstaller-1.3\Build.py mypy.spec
生成:mypy.exe,搞定。
网购书桌 Email Homepage
2013/07/25 11:21
旅行日记•西藏今天去羊湖,景色奇美。包车的师傅拉过《画皮2》摄制组,如此良机我怎能不八卦。师傅说陈坤人很好哟~
分页: 1/1 第一页 1 最后页
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]