【问题标题】:Pyisntaller No Such File Or DirectoryPyinstaller 没有这样的文件或目录
【发布时间】: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


【解决方案1】:

Auto-py-to-exe 解决了我的问题。 它是一个 GUI,可根据您选择并运行它的选项生成 pyinstaller 命令。没有 CLI 的头痛。 选择所需的文件和文件夹非常容易。只需浏览并选择。

这里是链接: https://pypi.org/project/auto-py-to-exe/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-19
    • 2022-10-15
    相关资源
    最近更新 更多