今天打包了一个程序,使用到了剪切板操作
打包下了要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
打包速度和加载速度都上去了,爽