现在我正在使用 Pyinstaller。我有一个从 img 文件夹获取图像的脚本..
/python
|----/img
|----|----icon1.ico
|----|----icon2.ico
|----maint.py
我生成 .exe 的脚本是
pyinstaller.py --windowed --noconsole --clean --onefile maint.py
问题是只生成 .exe 文件,但省略了整个文件夹 /img。
问题:为了自动获取 .exe 文件 + /img 文件夹,我需要在上一行中添加哪些附加语法?
我的意思是:在执行带有所有参数的 pyinstaller.py 脚本后,我必须在 /dist 文件夹中看到:.exe 文件 + /img 文件夹,其中包含我的应用程序的所有图标或位图文件
谢谢
原文由 MigRome 发布,翻译遵循 CC BY-SA 4.0 许可协议
这就是我设法解决问题的方法:
我正在使用当前版本的 PYInstaller + Python 2.67 和 Sublime Text 作为编辑器。
如果你的 Py 脚本需要一些文件、图标、图像,你必须包含一个从项目文件夹(在开发中)或形成临时数据文件夹(在部署的情况下)中检索这些文件的函数。该脚本必须在您的代码中恰好位于您放置亲属路径以获取资源的部分中。请完全遵循 此指南。
在前面的代码之后,您必须第一次执行 pyinstaller 命令 - 正如我在我的问题中发布的那样 - 。
现在,打开执行 PYInstaller(位于
PYinstaller/YourAppName/
)命令后生成的 .spec 文件,并在a.binaries
行之后添加下一行到EXE()
功能:请记住,在
Tree(...)
函数中,第一个参数是要放在外面的文件夹: 这意味着我想包含该文件夹的所有内容(请注意,我将相对路径放在 AppStart .py 文件) 放入我的 .EXE 文件的文件容器中。.SPEC
文件:最后,我的应用程序可以作为可执行文件执行,而无需像有人提到的那样复制和粘贴所有外部文件夹。 但我一如既往地考虑实用的方法。
谢谢你的支持。