pyinstaller是常用的python应用软件打包工具, 能够根据.py文件(或者说python工程)来生成.exe文件, 并且将应用程序需要用到的依懒项也打包到一起(与exe文件同目录或者直接与exe文件一起打包成一个新的exe文件, 这个是根据pyinstaller的参数-D或-F决定的)。但使用pyinstaller直接打包会将许多python工程中没有用到的库也打包进去造成最终应用软件目录(打包参数为-D时)占用空间很大, 或者是最终生成的一个exe文件太大, 不利于应用软件的分发和存储。
目前我也没有一个很好的办法, 只有一个较笨的办法, 与网友们分享的寻种创建虚环境的方式有点不一样。就是先使用pyinstaller -D的方式生成exe并将依懒文件(有可能包含到没有使用的依懒)打包到同一个目录下,然后再使用innosetup软件再次进行打包成生一个软件安装包, 具体分为3步:
(1) 使用pyinstaller -D test.py打包
(2) 删除test.py中没有用到的一些依懒项
(3) 使用innosetup进行打包(这一步的详细内容, 请自行搜索一下)
实际测试过, 我打包一个PyQt项目, 从120多M精简到12M左右。我也是刚刚开始玩PyQt, 被这个打包折腾得欲哭无泪了快, 有更方便可靠的方式的大神还请分享一下, 毕竟我这种方法用起来太不愉快了。。。