Python程序设计实例 | 带图标的exe可执行文件的打包

举报
TiAmoZhang 发表于 2023/09/05 14:06:08 2023/09/05
【摘要】 * 本系列推文案例中,建议Python采用3.10及以上版本,NumPy采用1.22.3及以上版本,Matplotlib采用3.5.1及以上版本,Pandas采用1.4.2及以上版本。Python从3.10这个版本开始,标准发行版本中自带的IDLE交互式环境中输入提示符>>>单独放在左侧,不能随输入语句一起复制。为了清晰区分实例在交互环境中的输入和输出,本系列推文在每个输入语句的开头依然保留输入

640.jpg


# 01、带图标的exe可执行文件的打包

在上一篇已编写了一个条形码识别程序,并且是图形界面程序。现在把它打包成带图标的exe可执行文件。

可以在 http://www.easyicon.net/网站上挑选一个合适的图标(最好挑选可免费用于商业的)。本书中挑选了如图1所示的图标。

image.png


■ 图1 挑选的条形码识别程序图标bar.ico

使用如下pyinstaller命令打包:


pyinstaller -F -i bar.ico barcodes.py

然后把配套素材中的Zbar文件夹复制到dist目录,就可以正常运行了。然而因为是图形界面程序,我们并不希望看到如图2所示的运行结果中的黑色命令行窗口。

image.png


■ 图2 带有命令行窗口的图形界面程序

可以通过添加-w参数实现,命令如下:


pyinstaller -F -w -i bar.ico barcodes.py

这时却发现无法正常调用zbar!在Windows操作系统下,用pyinstaller打包窗口模式的Python程序直接调用子进程会出现错误。

解决方案可以参考网页https://github.com/pyinstaller/pyinstaller/wiki/Recipe-subprocess,可以看出,pyinstaller在具体使用上可能还会碰到各种问题,需要读者在网上自行搜索答案。

这里需要修改文件名为barcodes.py的程序,将原第43行的代码:


image.png


改为以下代码:


image.png


并在程序开头引入subprocess包即可:


import subprocess as sp
【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。