无法将我的UI图像添加到pyinstaller构建(带有.spec文件)

时间:2018-09-11 12:10:11

标签: python exe pyinstaller specifications

我一直在努力让正在运行的应用程序将图像包含在其中-到目前为止,我只是手动将其包含在“ dist”文件夹中,并且工作正常。但是当我使用--onefile时,我希望将图像包含在独立应用程序中。

在StackOverflow上有一些类似的答案,但似乎没有一个可行,尤其是它似乎定期更改时。

下面是我所有的最新尝试-终端/命令行调用,以及我制作的.spec文件(来自各种教程)。请注意,我尚未向python脚本添加任何内容,并且该图标确实可以正常工作,因此我的文件结构没有问题。任何帮助都会很棒!

命令行:

pyinstaller  --onefile --windowed DragDrop_27.spec

规范文件:

# -*- mode: python -*-

block_cipher = None


a = Analysis(['DragDrop_27.py'],
             pathex=['/Users/orange/PycharmProjects/imageMerge_01'],
             binaries=[],
         datas=[('bgimage.png', '.'), ('bgimageover.png', '.'), ('bgimagehover.png', '.'), ('bgimageprogress.png', '.'), ('play_logo.png', '.'), ('play_logoover.png', '.')],
             hiddenimports=[],
             hookspath=[],
             runtime_hooks=[],
             excludes=[],
             win_no_prefer_redirects=False,
             win_private_assemblies=False,
             cipher=block_cipher,
             noarchive=False)
a.datas += [('bgimage.png', '.','DATA'), ('bgimageover.png', '.','DATA'), ('bgimagehover.png', '.','DATA'), ('bgimageprogress.png', '.','DATA'), ('play_logo.png', '.','DATA'), ('play_logoover.png', '.','DATA')]
pyz = PYZ(a.pure, a.zipped_data,
             cipher=block_cipher)
exe = EXE(pyz,
          a.scripts,
          a.binaries,
          a.zipfiles,
          a.datas,
          [],
          name='DragDrop_27',
          debug=False,
          bootloader_ignore_signals=False,
          strip=False,
          upx=True,
          runtime_tmpdir=None,
          console=False )
app = BUNDLE(exe,
             name='DragDrop_27.app',
             icon='myicon.icns',
             bundle_identifier=None)

1 个答案:

答案 0 :(得分:0)

老实说,除非严格供个人使用,否则我认为不可能有独立版本的图像。我花了至少4个小时来尝试解决这个问题,但没有成功。您可以添加带有.ico文件的图像并将其与--onefile一起使用,但是除非其他人分别给他们提供图像文件,否则您将无法让其他人使用它。

pyinstaller --onefile --icon='Pig.ico' AnimalFacts.py