我已经用Pyinstaller创建了一个exe文件。
pyinstaller.exe --onefile --icon='Loco.ico program.py
在程序中,我在绘图中包含一个图像,当我在其文件夹中单独运行程序时,会得到以下结果:
IOError: [Errno 2] No such file or directory: 'Logo.png'
一种解决方案是将图像包含在exe的文件夹中,如下面的链接所示:
pyinstaller does not show images and icon
但是再一次强调,一个文件的全部意义就是要有一个完全正确的文件,而不需要另外的图像。我想解决办法可能就在这个环节,但我还不明白。
Bundling data files with PyInstaller (--onefile)
我的规范文件如下所示:
# -*- mode: python -*-
a = Analysis(['AMOS_Visualizer.py'],
pathex=['C:\\Users\\elu\\PycharmProjects\\Prosjektet\\Forsok splitting'],
hiddenimports=[],
hookspath=None,
runtime_hooks=None)
pyz = PYZ(a.pure)
exe = EXE(pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
name='AMOS_Visualizer.exe',
debug=False,
strip=None,
upx=True,
console=True , icon='AMOS.ico')
在“hiddenimports=[]之前添加“datas=['Location of your file']”。那就行了。 在我的情况下,这是有效的
如果您使用的是Qt设计器,则可以通过创建资源文件并将所需的所有图像(包括Logo.png)添加到此资源来完成此操作。
要创建资源文件,可以按照Inserting an image in GUI using QT Designer中的步骤操作。
在资源文件中插入图像后,将Logo.png分配给窗口图标,保存QtDesigner界面,并使用命令转换资源文件:
pyrcc4 -py3 resourcetest.qrc -o resourcetest_rc.py
最后,使用--onefile选项创建exe文件。无需编辑等级库文件。
编辑:
我相信我找到了解决问题的办法。
并在main.py脚本中添加以下内容
相关问题 更多 >
编程相关推荐