前面教程伯诬,推薦過cx-frezze來打包python程序卦洽,實(shí)際上替蛉,pyinstaller比cx-frezze更好用戏锹。推薦cx-frezze是因?yàn)楫?dāng)時(shí)pyinstaller還不支持python3冠胯。不過現(xiàn)在的pyinstaller已經(jīng)支持python3的封裝了。
這里就來說明一下如何用pyinstaller來封裝python程序锦针。
首先第一步要下載安裝pyinstaller:
下載地址:http://www.pyinstaller.org/
我這里是python3.5荠察,所以我只需要下載pyinstaller3.2.1就行。
下載后解壓出來如下:
接著進(jìn)入win系統(tǒng)的cmd界面奈搜,在cmd狀態(tài)下進(jìn)入pyinstaller文件悉盆。然后輸入:
#這里是在python里安裝pyinstaller模塊
python3 setup.py install
然后你得確保你的python已經(jīng)下載并安裝pywin32模塊,如果沒有請(qǐng)自行安裝馋吗。
接著就可以用pyinstaller了
使用的時(shí)候要注意焕盟,和安裝的時(shí)候一樣需要在win的cmd模式下,且需要在pyinstaller文件下宏粤,然后輸入:
#運(yùn)行剛才下載的文件里面的pyinstaller.py 后面跟著指令和路徑
python3 pyinstaller.py -F xxx.py
這里需要說明幾個(gè)指令以及對(duì)應(yīng)的含義:
-F 指定打包后只生成一個(gè)exe格式的文件脚翘。
-D 和上面相反,會(huì)生成很多依賴文件(默認(rèn)選項(xiàng)绍哎,并不推薦)
-C 使用控制臺(tái)来农,無界面(默認(rèn)),程序運(yùn)行后會(huì)有個(gè)小黑窗
-w 注意是小寫崇堰,和上面相反沃于,使用窗口,無控制臺(tái)
-p 添加搜索路徑海诲,讓pyinstaller找到對(duì)應(yīng)的庫
-i 這個(gè)比較實(shí)用繁莹,可以改變生成的exe的圖標(biāo)
demo:
#以下是我經(jīng)常使用的指令,也就是:生成一個(gè)exe文件饿肺,改變圖標(biāo)蒋困,并且無控制臺(tái)
python3 pyinstaller.py -F -w -i xxx.ico xxx.py
運(yùn)行完成后,就會(huì)在根目錄下生成對(duì)應(yīng)的文件敬辣,然后exe文件就在這個(gè)文件內(nèi)雪标。
這里再推薦個(gè)網(wǎng)址,可以便捷的下載各種ico圖片:http://www.easyicon.net/
在生成exe文件的過程中可能會(huì)有報(bào)錯(cuò)溉跃,這里就需要根據(jù)報(bào)錯(cuò)來相應(yīng)做一些更改村刨,比如我有個(gè)程序用到了tk和matplotlib,生成exe之后就會(huì)報(bào)錯(cuò)撰茎,報(bào)錯(cuò)提示在maltplotlib找不到tk的某一個(gè)模塊,我的解決辦法是進(jìn)入matplotpy直接在代碼內(nèi)import相應(yīng)的模塊嵌牺,問題就解決了。