python py2exe和pyinstaller打包對比


 

pyinstaller 打包文件
相信很多小伙伴將寫的Python代碼打包成 .exe文件時使用Python3的Pyinstaller打包工具,下面是pyinstaller的一些參數和命令
pyinstaller -F 文件.py 生成單個可執行文件
pyinstaller -w 文件.py 去掉控制台窗口,對於執行文件沒有多大的用處,一般用於GUI面板代碼文件
pyinstaller - -icon = 圖標路徑 表示可執行文件的圖標
pyinstaller -c 使用控制台無窗口
pyinstaller -D 生成一個文件夾包括依賴文件
pyinstaller -p 添加Python使用的第三方庫
pyinstaller -K 當包含tcl和tk也就是使用tkinter時加上-K參數
例如pyinstaller -F - -icon = 圖標文件絕對路徑 文件.py
常用的是pyinstaller -F 和pyinstaller -D

py2exe打包文件
py2exe將Python文件打包成.exe文件,py2exe有一定的限制性用在python2版本或者python3.4版本一下

import sys
reload(sys)
sys.setdefaultencoding('utf8')#設置Python2編碼為utf8編碼 原Python2代碼為ASCII編碼
具體情況具體修改不能隨意而論

# -*- coding:utf8 -*-
#用此代碼打包tkinter代碼屢試不爽太酷了
from distutils.core import setup
import py2exe
import sys
#設置地櫃限制次數
sys.setrecursionlimit(1000000)
if len(sys.argv) == 1:
sys.argv.append("py2exe")
sys.argv.append("-q")
setup(windows=[r"文件.py"],
options = { "py2exe":{"dll_excludes":["MSVCP90.dll","libopenblas_v0.2.20_mingwpy.dll"]}}
)#沒有MSVC90.dll這個動態依賴庫會打包不成功,而libopenblas_v0.2.20_mingwpy.dll在我的程序里沒有加的話也不會成功,從網上找了一些資料只需要前邊的動態庫后邊不需要。

 


經過時間可以得出結論:有時候用pyinstaller 打包比較合適,例如就一個可以生成執行的文件,但是發現有時候有黑色閃爍的框,而py2exe不會發生這樣的狀況,生成的可執行文件並且攜帶的依賴文件的大小要遠比pyinstaller的小。因此,具體情況具體分析,當一種狀況不可以的時候,可以去嘗試其他的方式來達到相同的目的。例如如圖:

pyinstaller打包包含tkinter文件如圖:

 

 

 


而py2exe打包如圖:

 

 

 


相比來說:py2exe要小很多,因此看自己對這兩種打包工具的認識,結合自己的情況,然后對自己寫的代碼進行打包,到時候會有一定的成就感。謝謝采納。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM