Пожалуйста, несите меня для получения знаний о новинке (недостатке). Я тратил, хотя предыдущие ответы на SO и делал некоторый прогресс, но теперь я действительно застрял и очень ценю некоторую помощь.Проблемы с Py2app: возможно, доступ к файлам изображений?
У меня есть рабочая программа python (pygame), которая включает в себя изображения и звуки, сохраненные в той же папке, что и файл .py. Я пытаюсь превратить его в приложение с py2app.
Я написал файл setup.py и, похоже, работает нормально. Когда я пытаюсь запустить приложение, оно создается в каталоге «/ build /», я просто получаю сообщение об ошибке в всплывающем окне, которое читает «[appname] Error». Когда я открываю консоль, соответствующее сообщение об ошибке выглядит следующим образом:
«30/03/2013 08: 47: 02.425 com.apple.launchd.peruser.501 [192]: ([0x0-0x1de2de1]. org.pythonmac.unspecified.CookieMemory [17113]) Выход с кодом: 255 "
Я думаю, что моя проблема может быть в том, что приложение не может нормально обращаться к файлам данных (изображениям, звукам). Я вижу их там в папке «Содержание/Ресурсы». Чтобы получить изображения и звуковые файлы, включенные в приложение в качестве «Ресурсы», я создал для них новую папку (называемую «Память») (в каталоге/Users), то есть тот же каталог, где и setup.py и my. py программы. И я включил пару строк кода в начале программы .py, чтобы сказать ей, чтобы посмотреть там для изображений и звуковых файлов ... поскольку программа .py первоначально загружала их непосредственно из той же самой папки, в которой она была сохранена. .py программа довольна, что изменения - когда я запускаю его непосредственно через IDLE или терминал - но приложение не ...
Вот мой setup.py файл:
from setuptools import setup
APP = ['CookieMemory.py']
DATA_FILES = ['Memory']
OPTIONS = {'iconfile':'cookieIcon.icns','argv_emulation': True}
setup(
app=APP,
data_files=DATA_FILES,
options={'py2app': OPTIONS},
setup_requires=['py2app'],
)
Вот добавление я сделал в .py файл:
import os,sys
currentFilePath=sys.argv[0]
currentDir=os.path.dirname(currentFilePath)
os.chdir(os.path.join(currentDir,"Memory"))
Любые предложения, пожалуйста?