Я изо всех сил пытался заставить мое функционирующее приложение включить в него изображения - до сих пор я только что вручную включил в папку 'dist', и она отлично работает. Но так как я использую --onefile, я хочу, чтобы изображения были включены в автономное приложение.
Есть несколько похожих ответов на StackOverflow, но, похоже, ни один из них не работает, тем более что он периодически меняется.
Ниже приведены все последние мои попытки - мой вызов терминала / командной строки и файл .spec, который я сделал (из различных уроков). Обратите внимание, что я ничего не добавил в скрипт Python, и значок работает отлично, поэтому моя файловая структура не является дефектной. Любая помощь будет отличной!
Commandline:
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)