У меня есть программа tkinter, которая включает изображение .png.Я скомпилировал его, используя pyinstaller и опцию --onefile, поэтому я должен получить доступ к изображению во временном местоположении.Это код, который я использую:
def resource_path(relative_path):
try:
base_path = sys._MEIPASS
except Exception as e:
base_path = os.path.abspath(".")
return os.path.join(base_path, relative_path)
title = PhotoImage(file=resource_path("xgol.png"))
Вот мой файл .spec:
# -*- mode: python -*-
block_cipher = None
a = Analysis(['XGols.py'],
pathex=['C:\\Users\\Sam\\OneDrive\\Computing\\Python Projects\\FootballPredict'],
binaries=[],
datas=[('Ball.ico', 'Ball.ico'), ('xgol.png', 'xgol.png')],
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False)
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
[],
name='XGols',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
runtime_tmpdir=None,
console=True , icon='Ball.ico')
Для компиляции программы я использую:
pyinstaller --onefile XGols.spec
Это ошибка, которую я получаю, когда запускаю исполняемый файл
_tkinter.TclError: couldn't open "C:\Users\Sam\AppData\Local\Temp\_MEI61842\xgol.png": permission denied
Я пытался работать от имени администратора.