数週間後(以前にもこの問題がありました)、私はこの問題を解決したと言ってうれしいです!:)
問題の最初の部分(http://i.stack.imgur.com/WpkjR.png):「excludes」部分を追加してsetup.pyスクリプトを編集することで、問題を解決しました。その結果、実行可能ファイルの作成に成功しました。
変更されたsetup.pyスクリプト:
from distutils.core import setup
import py2exe
setup(windows=['source_static.py'], options={
"py2exe": {
"excludes": ["OpenGL.GL", "Numeric", "copyreg", "itertools.imap", "numpy", "pkg_resources", "queue", "winreg", "pygame.SRCALPHA", "pygame.sdlmain_osx"],
}
}
)
したがって、同様の問題がある場合は、それらの「欠落している」モジュールをこの「除外」行に入れてください。
第二部:
実行可能ファイルの作成に成功した後、次の問題が発生しました:「アプリケーションがランタイムに異常な方法でファイルを終了するように要求しました。連絡してください...」。この別の問題を解決する方法を何日も探して考えた後、私はそれを行う方法を見つけました。問題がそんなにばかげているとは信じられませんでした。問題は私のコードにあり、フォント定義は次のとおりです。
font1 = pygame.font.SysFont(None, 13)
「None」をシステムフォント名(たとえば「Arial」(文字列である必要があります))に変更してコンパイルした後、.exeファイルが機能したとは信じられませんでした。
font1 = pygame.font.SysFont("Arial", 13)
もちろん、独自のフォントを使用することもできますが、そのパスを指定して、プログラムで定義する必要があります。
したがって、この問題が発生しているすべての人のために、この手順を試してください。成功することを願っています。私はこれらの問題を解決しようとして何日も何週間も失ったので、これがあなたの助けになることを本当に望んでいます。他の多くの.exeビルダーとセットアップスクリプトを使用して、すべてのバージョンのpythonとpygameで.exeファイルを作成しようとしましたが、運がありませんでした。これらの問題に加えて、私は以前に他の多くの問題を抱えていましたが、stackoverflow.comでそれらの答えを見つけました。
この問題を解決し、同じ問題に直面した場合に役立つ方法を見つけたことをうれしく思います。
小さなヒント(私もやったこと):
1つ目:Microsoft VisualC++ライブラリを最新のものに更新します。
2番目:実行可能プログラムに必要な類似の画像またはフォントがある場合は、それらをdistフォルダー(.exeファイルが作成されている場所)に含めます。
3番目:.exeファイルを作成するときに、必要なすべてのファイルをsetup.pyスクリプトがあるフォルダー(メインスクリプトが使用するすべてのファイルとディレクトリ)に含めます。
Python 2.7 x64、pygame、py2exeを使用しました。