今天打包了一個程序,使用到了剪切板操作
打包下了要24M,去掉這個剪切版功能變成了11M,想來真是匪夷所思,接着就做了一個實驗,看看兩個庫到底有啥區別
操作系統:win7-64 python2.7.15 打包軟件pyinstaller
首先是pyperclip庫,代碼如下
#!/usr/bin/env python # coding:utf-8 import pyperclip pyperclip.copy("你好")
打包完成16.7M(里面有鬼了)
接下來是win32clipboard庫
#!/usr/bin/env python # coding:utf-8 import win32clipboard as wc import win32con aString = u"你好" wc.OpenClipboard() wc.EmptyClipboard() wc.SetClipboardData(win32con.CF_TEXT, aString.encode(encoding='gbk')) wc.CloseClipboard()
打包下來是3.14M(這才正常)
接下來打包參數不加 -F,打包成文件夾,看看都是些啥
首先是pyperclip
按照大寫排序,前面幾個都是qt5的dll,看來是加載了qt5庫,怪不得這么大,如果本身界面程序就是用qt5寫的,那沒啥影響
不過我這種用tk寫gui的人,就是多余的了
下面是win32clipboard
最大也就是python的dll,依賴庫都不大
接下去就是用win32clipboard庫寫了下剪切板操作相關的函數,重新打包腳本,體積減小了12M
打包速度和加載速度都上去了,爽