最近由于項目需要,以前的python文件需要編輯為EXE供前端客戶使用。
由于最早接觸的是distutils,所以一開始準備使用distutils和py2exe搭配來進行python的exe化,也就是傳統的使用setup.py的方式來進行exe安裝。但是結果都不是很好,不是很如人意。并且py2exe所使用的一個python 包互相排斥,只要安裝了這個包,就無法進行exe化。甚至代碼里面都不需要導入,就會報錯。
因此,只能無奈放棄了py2exe工具。轉而使用pyinstaller。使用感受真的是甩了py2exe幾條街。首先是安裝,
pip install pyinstaller
注:pyinstaller最新版本為3.2.1只支持2.7-3.5。但是有最新的開發版在如下鏈接的develop分支中是支持python3.6的。由于本人使用的是3.6版本。因此也是找了好久。
https://github.com/pyinstaller/pyinstaller
pyinstaller安裝好以后,只需要使用pyinstaller 安裝包的名字如:
pyinstaller hello.py
便可以將hello文件打包。打包文件在pyinstaller的目錄下。可以通過 --distpath=xxxx 參數來修改保存的位置。
還有一些其他的參數本文也是直接找了網上的資料,如下:
發布命令介紹
-
有兩種方法調用發布流程:
①直接使用Pyinstaller應用程序調用待發布腳本
②用Python調用pyinstaller-script腳本再調用待發布腳本
兩種方法用起來沒什么差別,方法①少個步驟,就用方法①了咯
-
-w指令
直接發布的exe應用帶命令行調試窗口,在指令內加入-w命令可以屏蔽
-
-F指令
注意指令區分大小寫。這里是大寫。使用-F指令可以把應用打包成一個獨立的exe文件,否則是一個帶各種dll和依賴文件的文件夾
-
-p指令
這個指令后面可以增加pyinstaller搜索模塊的路徑。因為應用打包涉及的模塊很多。這里可以自己添加路徑。不過經過筆者測試,site-packages目錄下都是可以被識別的,不需要再手動添加
?
原網址:
https://jingyan.baidu.com/article/a378c960b47034b3282830bb.html