吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 218|回复: 2
收起左侧

[学习记录] python使用python-barcode生成条码,打包后报错解决

[复制链接]
aliyaduo 发表于 2024-7-22 06:53
本帖最后由 aliyaduo 于 2024-7-23 07:55 编辑

最近用pySide6写了个生成条形码并调用打印机打印的桌面端应用,生成条形码的库是python-barcode,在pyCharm中运行时没有毛病,使用pyinstaller 打包成exe后,点击生成条形码没有反应。经过一番调试,终于找到错误所在,谨此发帖,留作笔记,也希望能帮到别人。
排查过程如下:
1.改用显示命令行的方式打包,查看错误信息
2.根据命令行提示的错误信息,推断为缺失字体文件
3.在生成条形码的地方打印一下字体路径,看看打包后程序在何处使用字体文件,只需要将字体文件复制到那个文件夹中即可。
代码如下:
writer = ImageWriter()
print("generate_barcode_with_text:",writer.font_path)
# ImageWriter.font_path='DejaVuSansMono.ttf'  #我曾尝试自定义字体路径,但barcode似乎没有提供这个方法,直接赋值也不行
print("generate_barcode_with_text:",writer.font_path)
barcode = generate('code128', data, writer=writer, output=output_path)

再打包后,查看命令行打印的路径,将需要的字体文件放入该路径即可。

再来个方便的办法:在pyinstaller 打包时,添加 -- collect-data barcode 参数,直接将整个barcode库的资源打包进exe。
命令:pyinstaller --onefile --windowed --collect-data barcode your_python.py

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

纯黑枫鸢 发表于 2024-7-22 15:04
这个困扰了我很久,,,放弃了很多次 我都是在我PYCHARM上用着没事  一打包EXE 就这不行那不行了 无语死 最后用的VBA
 楼主| aliyaduo 发表于 2024-7-23 07:49
纯黑枫鸢 发表于 2024-7-22 15:04
这个困扰了我很久,,,放弃了很多次 我都是在我PYCHARM上用着没事  一打包EXE 就这不行那不行了 无语死 最 ...

我也是,研究了老半天才搞定
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-9-8 09:36

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表