python如何打包成exe文件?
在之前文章《讓你的代碼更好的交付,使用Python實現(xiàn)模塊打包發(fā)布》中,分享了測試開發(fā)工程師在進行交付時,對交付模塊使用Wheel庫將其打包成.whl文件,已達到提高交付、部署效率的目的。同時,采用統(tǒng)一的發(fā)布方式,也有助于提高測試開發(fā)的規(guī)范性。
除了可以將發(fā)布模塊打包成
.whl
格式的文件,對于某些小型測試工具發(fā)布的場景,分享一種更適合的發(fā)布方式——打包成可執(zhí)行的.exe程序,這樣即使使用者在沒有Python的環(huán)境中仍然可以直接運行,進一步的降低了使用成本,提升使用效率。接下來就分享一下,如何使用PyInstaller庫將發(fā)布模塊打包成.exe格式文件。
PyInstaller安裝建議使用pip的方式進行安裝,否則可能會報缺失其他依賴庫的情況,需要逐個手動安裝。
pip install PyInstallerPyInstaller使用如下簡單代碼示例,其中導入了Python內(nèi)置庫——time模塊和第三方庫——csv模塊,實現(xiàn)了每次運行時,在新生成的csv文件中寫入固定數(shù)據(jù)。
在該模塊目錄內(nèi)執(zhí)行如下命令,執(zhí)行日志如下:
pyinstaller WriteFiles.py其中在當前目錄中可以看到生成了.uildWriteFilesWriteFiles.exe文件
我們執(zhí)行WriteFiles.exe,可以發(fā)現(xiàn)在當前目錄下,新增了WriteFile_1550935956.csv文件。
PyInstaller常用參數(shù)說明-F:打包單個文件,生成結果是一個.exe格式文件。-D:打包多個文件,生成結果是一個目錄,包含第三方依賴、資源、.exe文件等,適合以框架形式編寫工具模塊,默認參數(shù)。-c:使用Windows控制臺子系統(tǒng)執(zhí)行,顯示命令行窗口,默認參數(shù)。-w:使用Windows子系統(tǒng)執(zhí)行,當程序啟動的時候不會打開命令行,編寫GUI程序時使用此參數(shù)有用。-p:指定額外的import路徑,類似于使用PYTHONPATH,多個目錄可以用路徑分割符(Windows使用分號,Linux使用冒號)。–add-data:打包額外資源,多個資源可以使用路徑分割符(Windows使用分號,Linux使用冒號)。–add-binary:打包額外的代碼,多個代碼可以使用路徑分割符(Windows使用分號,Linux使用冒號)。同時–add-binary添加文件的引用文件會一并添加進來。-i :添加.exe文件的icon圖標。-n:編輯.exe文件和.spec的文件名。我們嘗試使用其中 -F, -n 參數(shù),只生成一個文件名為Toutiao的.exe格式文件。我們執(zhí)行如下命令,運行日志如下:
pyinstaller -F -n Toutiao.exe WriteFiles.py其中在當前目錄中生成了.distToutiao.exe文件 ,目錄結構如下。
除了PyInstaller模塊能夠?qū)⒛K打包成.exe格式的可執(zhí)行程序,還可以了解下pyexe模塊,它也可以實現(xiàn)相同效果的打包,這里就不做單獨的介紹了。
若對你有所幫助,歡迎大家評論、留言。