在主程序QrCreator.py的同级目录下,打开一个命令行窗口,运行:

pyinstaller -F QrCreator.py -i QrCreator.ico -w

-F参数表示打包成单个文件,-W参数表示以窗口模式运行,-i则是指定图标路径。看到这里,你也许会问:图标不是已经隐藏在代码中了吗?为什么还要指定图标文件呢?原来,pyinstaller 的-i参数指定的图标,是用来生成exe文件图标的,而我们隐藏的图标文件,仅在运行程序时显示在标题栏上。如果不使用-i参数,生成的exe文件图标将会使用系统默认图标,而不是我们自己的图标。

代码中设置图标

= wx.Icon(r'F:\PycharmWorkPlace\Try\QrCreator.ico')
self.SetIcon(icon)

运气好的话,将会在主程序QrCreator.py的同级目录下生成两个文件夹:build 和 dist,打包生成的.exe文件就存放在dist目录中。

但是,别高兴得太早。运行该程序的话,也许会出现这样的错误提示:

Failed to execute script pyi_rth_pkgres.py

如果真的出现了这个错误,也别灰心,这是pyinstaller的一个bug,请先删除pyinstaller:

python -m pip uninstall pyinstaller

然后再安装这个开发版本(要是网速慢,也可以下载到本地安装):

python -m pip install https://github.com/pyinstaller/pyinstaller/archive/develop.zip

重新打包,就应该不会有问题了。祝你好运!