# 01、带图标的exe可执行文件的打包
在上一篇已编写了一个条形码识别程序,并且是图形界面程序。现在把它打包成带图标的exe可执行文件。
可以在 http://www.easyicon.net/网站上挑选一个合适的图标(最好挑选可免费用于商业的)。本书中挑选了如图1所示的图标。
■ 图1 挑选的条形码识别程序图标bar.ico
使用如下pyinstaller命令打包:
pyinstaller -F -i bar.ico barcodes.py
然后把配套素材中的Zbar文件夹复制到dist目录,就可以正常运行了。然而因为是图形界面程序,我们并不希望看到如图2所示的运行结果中的黑色命令行窗口。
■ 图2 带有命令行窗口的图形界面程序
可以通过添加-w参数实现,命令如下:
pyinstaller -F -w -i bar.ico barcodes.py
这时却发现无法正常调用zbar!在Windows操作系统下,用pyinstaller打包窗口模式的Python程序直接调用子进程会出现错误。
这里需要修改文件名为barcodes.py的程序,将原第43行的代码:
改为以下代码:
并在程序开头引入subprocess包即可:
import subprocess as sp