Ошибка _tkinter.TclError: couldn't open "image.png": no such file or directory при запуске скомпилированного exe файла

Я пытался загуглить, но попытки увенчались крахом, поэтому прошу помощи. Я скомпелировал код на Python в exe. Но при попытке запуска приложения, вылезает ошибка _tkinter.TclError: couldn't open "Pgas_done75.png": no such file or directory А вот если закинуть изображение в директорию с приложением, тогда все запускается, но это не входит в мою концепцию одного файла. Пытался указывать в pyinstaller --add-data, не помогло.

введите сюда описание изображения


Ответы (1 шт):

Автор решения: Amgarak

Если вы хотите использовать файлы из запакованных .exe ресурсов, то вам нужно получить правильный путь до них.

Дело в том, что при запуске .exe файла, он распаковывает свои ресурсы во временную папку. Вы же пытаетесь найти файл в директории самого .exe, а там пусто - вот вам и ошибка.

path = getattr(sys, '_MEIPASS', os.getcwd())
file_path = os.path.join(path, 'img.png')

Данный код вернёт путь до временной папки и сохранит его в - path

→ Ссылка