Windows 10 x64
macOS Sierra 10.12.4
Python 2.7
準(zhǔn)備好裝嗶~了么,來吧,做個真正意義上的綠色小軟件
今天實驗室同學(xué)看到我的乞丐版二輸入規(guī)則器,他挺感興趣的,也想要玩玩,但是他沒有裝python的環(huán)境,總不能讓他一直玩我電腦吧,所以想到了將程序打包成exe,直接運行!想法一出來,根本擋不住啊,說干就干,先百度python打包exe,一大堆答案,我整理了一下,大概有Py2exe和pyinstaller兩種,但是,我給你看張圖
方法一:使用
pip install pyinstaller
,也可以參考: python如何安裝第三方包,方法二:如果是下載github上的包之后手動安裝,那么步驟是
cd C:\pyinstaller-develop
進(jìn)目錄后輸入python setup.py install
親測可用:Pyinstaller下載地址,GitHub版本,親測可用
備用地址不:Pyinstaller官網(wǎng)下載地址,我沒試過,應(yīng)該也行
先將需要打包的程序,我用自己的Tkint.py文件(自己python文件名字自己修改),把它復(fù)制到步驟1的目錄下,也就是上面的
C:\pyinstaller-develop
然后使用命令:pyinstaller -F Tkint.py
(建議使用)
注意:如果運行的是gui類型程序,你不需要彈出命令窗口,你可以采用:pyinstaller -F -w文件名.py
之后你的命令窗就會跑半分鐘左右,跑完之后是這樣的;
打包好的Tkint.exe已經(jīng)在該目錄下的dist文件夾中了。如果成功,應(yīng)該多了這兩個文件夾
dist里面是這樣的
注意: 在同學(xué)win8/win10,64位機器上可以運行,win7 x64和其余所有32位親測失敗,會提示不兼容,所以說,如果要32/64通吃,就要在python 32位環(huán)境下(不是win32位)編譯打包exe,才能在32/64成功。
但是,如果你使用
pyinstaller -F -w文件名.py
在別的電腦運行你的exe文件時候你看不到命令窗口,你會認(rèn)為程序沒有運行,打包后的exe比較大,以我的Tkint.py來說,160行的程序,打包后61MB,額,我直接插在U盤上在別的電腦運行,大概需要半分鐘左右才能跑起來,所以請慢慢等待。。。。如果你還要改圖標(biāo),創(chuàng)建目錄啥的,請使用pyinstaller -h
來查看參數(shù)
如果覺得內(nèi)容不夠細(xì)致,可以參考
用PyInstaller將python轉(zhuǎn)成可執(zhí)行文件exe筆記 或者用PyInstaller把Python代碼打包成單個獨立的exe可執(zhí)行文件
2016.7.7補坑: 基于python的參考文獻(xiàn)生成器beta已完成,歡迎下載和使用免費下載基于python的文獻(xiàn)生成器.exe
2016.7.8補充: 利用Pyinstaller編譯關(guān)聯(lián)文件成exe,只要輸入時候?qū)懗?code>pyinstaller -F main.py related.py即可,其中main為主函數(shù),其中有import related.py的函數(shù),只要把重要的放前面就好啦,然后最后的exe文件名會以第一個命名,也就是最后形成一個main.exe就是醬紫。修改spec文件,重新加上參數(shù)再編譯。按照正常步驟做過之后,在目錄中還會有一個spec文件,用編輯器打開,之后修改參數(shù),保存后,在原來操作的cmd上寫入:pyinstaller main.spec
即可,這個是我在gui圖像生成exe格式時候,圖片無法打包查閱到的,需要單獨添加
pip install py2app
首先在桌面新建一個文件夾,我這里名字為transapp,然后把要打包的程序放在里面,我這里要打包的是translate.py文件,自己的文件夾和文件名字自己響應(yīng)替換
cd ~/Desktop/transapp
py2applet --make-setup translate.py
rm -rf build dist
python setup.py py2app
這時候會開始執(zhí)行打包過程,最后大概是這樣的
...Modules not found (conditional imports): * _md5 (hashlib) * _sha (hashlib) * _sha256 (hashlib) * _sha512 (hashlib) * com (pkg_resources._vendor.appdirs) * com.sun.jna (pkg_resources._vendor.appdirs) * com.sun.jna.platform (pkg_resources._vendor.appdirs) * riscospath (os) * win32com (pkg_resources._vendor.appdirs) * win32com.shell (pkg_resources._vendor.appdirs)Done!
測試時候, py2app版本0.14,macos版本10.12.14,測試通過,最后效果圖如下所示
聯(lián)系客服