將Python程序編譯成exe,目前網上主要有3種方法
py2exepyinstallercx_freeze據說py2exe最有名,但是打包的程序最大。pyinstaller打包效果最好,但是也作為麻煩。我使用的機器環境是win10 64位+32位的Python3,因此無法使用只支持Python2的py2exe。使用pyinstaller又出現了很多問題,總之無法實現編譯。所以最后還是采用了cx_freeze。
使用cx_freeze之前,首先進行安裝。可以上cx_freeze的官網去直接下載。 官網地址:http://sourceforge.net/PRojects/cx-freeze/files/ 安裝官網說明方法安裝即可
我因為已經安裝了pip3,所以使用pip一鍵安裝。 安裝命令
pip3 install cx_freeze
安裝完以后,進入到自己的Python3安裝目錄,利用命令行進入script文件夾。可以看到存在cx_freeze的相關安裝文件
cxfreeze-postinstall cxfreeze-quickstart cxfreeze
但是卻并沒有網上說的cxfreeze.bat文件。此時,需要利用Python運行cxfreeze-postinstall文件,才會出現相應安裝后的批處理文件。
python cxfreeze-postinstall
運行完畢后,就可以運行相關命令看安裝是否成功
cxfreeze -h
顯示出幫助命令就表示安裝成功。
利用cxfreeze打包Python程序語法如下
cxfreeze 編寫的Python程序的入口文件 –target-dir 目標程序所在文件夾
–target-dir命令是指定目標文件家的命令 但要注意,如果這樣打包GUI程序,會在程序運行時出現運行命令提示符的黑框
因為自己是編譯的PyQt5程序,所以如果要打包的時候沒有黑框,應該使用如下打包命令
cxfreeze 編寫的Python程序的入口文件 –target-dir 目標程序所在文件夾 –base-name=Win32GUI
這就是我打包出來的結果: 
程序運行結果: 
OK!打包完畢!
但是我也發現存在一定問題。利用cxfreeze打包pyqt程序,生成的軟件體積太大。我只是編寫的一個自定義瀏覽器程序,打包完以后230M左右。打包文件中可以看到,PyQt部分所占體積最大,所有的PyQt模塊都被導入進目標文件夾。所以可能還要研究怎么樣才能實現精簡打包,或是再壓縮一下體積。新聞熱點
疑難解答