【发布时间】:2021-07-25 10:24:43
【问题描述】:
我用 pygame 创建了一个脚本,它需要一个文件,该文件是“assets”文件夹中名为“blocky.ttf”的字体。我在我的 python 脚本中给出了一个相对路径。 当我使用 pyinstaller 将其转换为 exe 时会出现问题。当我打开 exe 文件时,它会显示一个错误,即临时文件夹中不存在此字体文件,例如“MEI”,然后是一些数字。
我正在使用它来获取字体的路径:
try:
base_path = sys._MEIPASS
except Exception:
base_path = os.path.abspath(".")
font_path = os.path.join(base_path, 'assets\\blocky.ttf')
我试图将我的资产文件夹复制到“dist”文件夹。没有好消息。 我也尝试过 StackOverflow 的不同解决方案,但没有任何效果。
这是我用来转换为 exe 的命令:
pyinstaller --onefile -w 'main.py'
Python:3.9.6
Pyinstaller:4.4
操作系统:Windows 10
【问题讨论】:
-
您需要向 pyinstaller 明确指出要打包哪些文件以及在哪里可以找到它们,请参阅docs 使用
--add-data或--add-binary命令行选项添加数据。或者使用.spec文件。
标签: python pygame pyinstaller exe assets