У меня есть программа, которая правильно работает с файлом .py и файлом .exe, созданным с помощью pyinstaller (заставляет игру отображать изображения из 5 папок в папке ресурсов, которая находится в том же месте, что и файл .py. Это код для получения моих изображений.
for path in glob.glob('assets/*/'): # In all folders in 'assets':
for picture in glob.glob(f'{path}*.png'): # For all images in path:
screen = pygame.transform.scale(pygame.image.load(picture), (100,100))
pictures.append(screen)
Моя проблема заключалась в создании ma c версии моей программы. Я создал ma c VM, загрузил python и pyinstaller, перенес файлы ( вышеупомянутую папку main.py и assets) и запустил в консоли в каталоге, содержащем main.py, следующее :
pyinstaller main.py
Я также попытался добавить теги --onefile и --windowed (отдельно и вместе) и переместил файл main.app в тот же каталог, что и main.py, и он не запустился, и я получил следующую ошибку при открытии его с консоли
LSOpenURLsWithRole() failed with error -10810 for the file /Users/username/Desktop/main/main.app.
Я также попытался использовать py2app и выполнил следующее в console в каталоге с main.py
% py2applet --make-setup main.py
% nano setup.py
% python3 setup.py py2app -A
Это создало main.app и позволило мне запустить его, и он открыл мое приложение, но не использовал в нем ни одного из моих изображений как если бы они были недоступны.
Я также попытался отредактировать DATA_FILES = []
в setup.py на все следующие, но безуспешно:
'assets'
'assets/'
'assets/*'
'assets/**'
'assets/*/'
'assets/*/*'
'assets/*/*.png'
'*'
Сообщите мне, если вам нужна другая информация или какие-либо решения для использования pyinstaller или py2app для создания файла .app для моей программы и использования изображений в каталогах в моем каталоге «assets».
Заранее спасибо