[python][pyinstaller]pyqt写的APP打包成exe文件
用PyQt+python写了个工具为了方便传播使用,因此把它打包成单个的可执行文件。
需要工具如下:
- pyinstaller:用于打包的工具软件
- png2ico:用于制作图标的工具
- upx:用于压缩,可以减小生成文件的大小
工具获取以及安装:
- pyinstaller:可以直接用python自带的pip的进行,主要注意pyinstaller的版本要和python的版本配套使用,否则生成可执行文件的时候会报错。我用的pyinstaller是3.2,python是2.7.12。安装完pyinstaller以后记得配置环境变量。
- png2ico:可以在[http://www.winterdrache.de/freeware/png2ico/]上获取,里面也有用法介绍,非常简单,不在多言。
- upx:在[http://upx.sourceforge.net/]可以获取到,甚至可以看到source code不得不感叹开源的强大啊。
材料都准备好以后,现在开始进入主题啦:
- 假设需要生成执行文件的py文件是sample.py
那个只要在cmd下执行下面命令即可:
pyinstaller sample.py -w -F --icon="name.ico" --upx-dir [upx所在目录]
-w:表示生成的exe在执行的时候不带命令行窗口
-F:将所有的.py文件打包生成单个可执行文件
–icon:用于指定APP的图标
另外关于pyinstaller的其它选项如下:
C:\Users\****\Desktop>pyinstaller
usage: pyinstaller-script.py [-h] [-v] [-D] [-F] [--specpath DIR] [-n NAME]
[-p DIR] [--hidden-import MODULENAME]
[--additional-hooks-dir HOOKSPATH]
[--runtime-hook RUNTIME_HOOKS]
[--exclude-module EXCLUDES] [--key KEY] [-d] [-s]
[--noupx] [-c] [-w]
[-i <FILE.ico or FILE.exe,ID or FILE.icns>]
[--version-file FILE] [-m <FILE or XML>]
[-r RESOURCE] [--uac-admin] [--uac-uiaccess]
[--win-private-assemblies]
[--win-no-prefer-redirects]
[--osx-bundle-identifier BUNDLE_IDENTIFIER]
[--distpath DIR] [--workpath WORKPATH] [-y]
[--upx-dir UPX_DIR] [-a] [--clean]
[--log-level LEVEL] [--upx UPX]
scriptname [scriptname ...]
执行完上述命令后,如果一切没有问题的话,就会在dist目录下生成一个执行的exe文件。双击就可执行
今天就到这里下次再跟大家分享。