まじで初心者(知識不足)の私にはご容赦ください。SOに関する以前の回答を調べて、ある程度の進歩を遂げましたが、今は本当に行き詰まっており、助けていただければ幸いです。
.py ファイルと同じフォルダーに保存された画像とサウンドを含む動作中の python (pygame) プログラムがあります。私はpy2appでアプリに変えようとしています。
setup.py ファイルを作成しましたが、問題なく動作するようです。「/build/」ディレクトリ内で作成したアプリを実行しようとすると、ポップアップ ウィンドウに「[appname] エラー」というエラーが表示されます。コンソールを開くと、関連するエラー メッセージは次のようになります。
" 30/03/2013 08:47:02.425 com.apple.launchd.peruser.501[192]: ([0x0-0x1de2de1].org.pythonmac.unspecified.CookieMemory[17113]) コードで終了: 255"
私の問題は、アプリがデータ ファイル (画像、音声) に正しくアクセスできないことだと思います。「Contents/Resources」フォルダー内にそれらが表示されます。アプリ内にリソースとして含まれる画像と音声ファイルを取得するために、(/Users 内の) ディレクトリに新しいフォルダー (「Memory」と呼ばれる) を作成しました。つまり、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"))
何か提案はありますか?