【问题标题】:Pyinstaller- Including assets in executablePyinstaller - 在可执行文件中包含资产
【发布时间】:2016-08-01 23:49:17
【问题描述】:

不知道如何将自定义资源打包到我的可执行文件中,我找到了这条信息,https://groups.google.com/forum/#!msg/pyinstaller/HcTTyFlPJHA/kqd4wnm7JhkJ

我的 assets 文件夹包含 tkinter GUI“assets\images.png”的图像。某些 id 喜欢包含在可执行文件本身中。

所以我在我的 .spec 文件中的“a.datas”下包含了这一行。

树('assets', prefix='assets\'),

然后用 PyInstaller “pyinstaller.py MipMapper-V1.2\MipMapper-V1.2.spec”重新打包。这会生成一个不包含资产的 exe。我可以将资产文件夹复制到 exe 的目录中,它可以工作。是我的代码吗?它指的是“资产”,是事物的相对路径。所以我得到一个-1返回错误。它找不到资产。感谢您提前提供任何帮助。

【问题讨论】:

    标签: pyinstaller


    【解决方案1】:

    Adding data files 和下一部分 using data files from module 在 pyinstaller 文档中。

    是的,您应该在代码中使用包的相对路径而不是普通的相对路径。因为包将被提取而不是相对于执行二进制文件,而是在临时目录中的某个地方。寻找pkg_resources 包。例如这个函数:

    dir = resource_filename('your_package', 'app/samples')
    

    要阐明如何在规范中定义数据,请查看示例:

    a = Analysis(['../trunk/__main__.py']
             ...
             datas=[('../src/trunk/your_package/app/samples/data.bin', 'your_package/app/samples')],
             ...
    

    【讨论】:

    猜你喜欢
    • 2016-12-12
    • 2018-10-05
    • 2020-08-07
    • 1970-01-01
    • 1970-01-01
    • 2018-09-15
    • 1970-01-01
    • 2018-04-16
    • 2020-11-08
    相关资源
    最近更新 更多