日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

python開發(fā)的程序如何封裝成exe程序?有哪些方法?

 星光閃亮圖書館 2019-09-05

在之前文章《讓你的代碼更好的交付,使用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 PyInstaller

PyInstaller使用

如下簡單代碼示例,其中導(dǎo)入了Python內(nèi)置庫——time模塊和第三方庫——csv模塊,實現(xiàn)了每次運行時,在新生成的csv文件中寫入固定數(shù)據(jù)。

在該模塊目錄內(nèi)執(zhí)行如下命令,執(zhí)行日志如下:

pyinstaller WriteFiles.py

其中在當(dāng)前目錄中可以看到生成了.uildWriteFilesWriteFiles.exe文件

我們執(zhí)行WriteFiles.exe,可以發(fā)現(xiàn)在當(dāng)前目錄下,新增了WriteFile_1550935956.csv文件。


PyInstaller常用參數(shù)說明

  • -F:打包單個文件,生成結(jié)果是一個.exe格式文件。

  • -D:打包多個文件,生成結(jié)果是一個目錄,包含第三方依賴、資源、.exe文件等,適合以框架形式編寫工具模塊,默認(rèn)參數(shù)。

  • -c:使用Windows控制臺子系統(tǒng)執(zhí)行,顯示命令行窗口,默認(rèn)參數(shù)。

  • -w:使用Windows子系統(tǒng)執(zhí)行,當(dāng)程序啟動的時候不會打開命令行,編寫GUI程序時使用此參數(shù)有用。

  • -p:指定額外的import路徑,類似于使用PYTHONPATH,多個目錄可以用路徑分割符(Windows使用分號,Linux使用冒號)。

  • –add-data:打包額外資源,多個資源可以使用路徑分割符(Windows使用分號,Linux使用冒號)。

  • –add-binary:打包額外的代碼,多個代碼可以使用路徑分割符(Windows使用分號,Linux使用冒號)。同時–add-binary添加文件的引用文件會一并添加進來。

  • -i :添加.exe文件的icon圖標(biāo)。

  • -n:編輯.exe文件和.spec的文件名。

我們嘗試使用其中 -F, -n 參數(shù),只生成一個文件名為Toutiao的.exe格式文件。我們執(zhí)行如下命令,運行日志如下:

pyinstaller -F -n Toutiao.exe WriteFiles.py

其中在當(dāng)前目錄中生成了.distToutiao.exe文件 ,目錄結(jié)構(gòu)如下。

除了PyInstaller模塊能夠?qū)⒛K打包成.exe格式的可執(zhí)行程序,還可以了解下pyexe模塊,它也可以實現(xiàn)相同效果的打包,這里就不做單獨的介紹了。


    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多