python - Python条形码:无法打开资源
问题描述
有谁知道如何解决这个问题?我正在尝试使用模块python 条形码制作应用程序, 当我将它编译为原始时它运行良好,但是当我试图将它变成一个 exe(使用 autopytoexe)时,这给了我错误
Traceback (most recent call last):
File "sad.py", line 14, in <module>
File "site-packages\barcode\base.py", line 68, in save
File "site-packages\barcode\ean.py", line 122, in render
File "site-packages\barcode\base.py", line 111, in render
File "site-packages\barcode\writer.py", line 226, in render
File "site-packages\barcode\writer.py", line 356, in _paint_text
File "site-packages\PIL\ImageFont.py", line 648, in truetype
File "site-packages\PIL\ImageFont.py", line 645, in freetype
File "site-packages\PIL\ImageFont.py", line 193, in __init__
OSError: cannot open resource
这是我目前正在运行的代码
import barcode
import os.path
import os
from barcode.writer import ImageWriter
from PIL import Image, ImageDraw, ImageFont
number = "0000000000000"
prodname = "Chicken Biryani"
directory = './Barcodes/'
a = barcode.get_barcode_class('ean13')
img_bar = a(number, writer = ImageWriter())
if not os.path.isdir(directory):
os.mkdir(directory)
img_bar.save("Barcodes\\"+prodname)
img = Image.open("Barcodes\\"+prodname+'.png')
fnt = ImageFont.truetype("arial.ttf",50)
d = ImageDraw.Draw(img)
d.text((80,190), prodname, font=fnt, fill=(0,0,0))
img.save("Barcodes\\"+prodname+'.png')
解决方案
这个库正在使用DejaVuSansMono
字体。您必须将该字体粘贴到包含该.exe
文件的文件夹中。
推荐阅读
- mysql - 如何在 Netflix Conductor 中设置保留时间?
- python - 在瓶子框架中使用会话(python)
- python - 如何在索引上制作散点图作为 x 值
- django - 如何在 Django 中计算 PostgreSQL 数据库上的行数?
- postgresql - 在 Groovy 中解析 PGobject
- django - 如何将相关模型中的字段注释到查询集?
- swiftui - Mac OS X - SwiftUI - 如何绘制字符串(文本)和一些路径
- css - 当DOM同时具有.red和.yellow时,CSS如何制作颜色:橙色?
- android - 如何使用 ./gradlew :app:assembleAndroidTest 在 Firebase 测试实验室中运行特定的测试方法
- mybatis - Mybatis 为指定字段设置 TypeHandle