gpt4 book ai didi

Pyinstaller- 在可执行文件中包含 Assets

转载 作者:行者123 更新时间:2023-12-02 03:16:42 25 4
gpt4 key购买 nike

无法弄清楚如何将自定义资源打包到我的可执行文件中,我发现了这一点信息,https://groups.google.com/forum/#!msg/pyinstaller/HcTTyFlPJHA/kqd4wnm7JhkJ

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

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

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

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

最佳答案

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')],
...

关于Pyinstaller- 在可执行文件中包含 Assets ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36555088/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com