0

GUI2Exe を使用して、python/pygame、ゲームを .exe にコンパイルしています

フォントモジュールに問題があります。

python 2.7 と GUI2Exe の py2exe オプションを使用して、python、pygame、py2exe を 2.7 バージョンに更新しました。私のプログラムは正常に動作しますが、py2exe でコンパイルした後、これが表示されます。

これが私が得るエラーです:

Fatal Python error: (pygame parachute) Segmentation Fault

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.

私のゲームはコンソールとして始まり、その部分が実行されます。しかし、ディスプレイが起動するとすぐにクラッシュします。

ありがとう

4

2 に答える 2

1

同様の問題があり、それもありました。それらを解決する方法を見つけました:

数週間後(以前にもこの問題がありました)、この問題を解決したと言ってうれしいです!:)

私の問題の最初の部分( http://i.stack.imgur.com/WpkjR.png ): 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"],
              }
          }
      )

したがって、同様の問題がある場合は、「不足している」モジュールをこの「除外」行に入れます。

第2部:

実行ファイルの作成に成功した後、次の問題が発生しました。この別の問題を解決する方法を何日も検索して考えた後、私はそれを行う方法を見つけました. その問題がそれほどばかげているとは信じられませんでした。問題は私のコードにあり、フォント定義は次のとおりです。

font1 = pygame.font.SysFont(None, 13)

None」を何らかのシステム フォント名 (たとえば「Arial」(文字列である必要があります)) に変更してコンパイルした後、.exe ファイルが機能したとは信じられませんでした。

font1 = pygame.font.SysFont("Arial", 13)

もちろん、独自のフォントを使用することもできますが、そのパスを指定してプログラムで定義する必要があります。

この問題を経験しているすべての人は、この手順を試してみてください。成功することを願っています。これらの問題を解決しようとして何日も何週間も無駄にしてしまったので、これがお役に立てば幸いです。Python と pygame のすべてのバージョン、他の多くの .exe ビルダーとセットアップ スクリプトを使用して .exe ファイルを作成しようとしましたが、うまくいきませんでした。これらの問題以外にも、以前は他にも多くの問題がありましたが、stackoverflow.com でそれらに対する回答を見つけました。

この問題を解決し、同じ問題に直面している場合に役立つ方法を見つけられたことをうれしく思います.

小さなヒント(私もやったこと):

1 つ目: Microsoft Visual C++ ライブラリを最新のものに更新します。

2番目: 実行可能プログラムが必要とする画像やフォントが似ている場合は、それらをdistフォルダー (.exe ファイルが作成された場所) に含めます。

3 番目: .exe ファイルを作成するときは、必要なすべてのファイルを setup.py スクリプトがあるフォルダー (メイン スクリプトが使用するすべてのファイルとディレクトリ) に含めます。

Python 2.7 x64pygame、およびpy2exeを使用しました。

于 2013-03-05T05:06:38.663 に答える
0

gui2exe を使用しないでください。このリンクからこのファイルを使用してください: http://pygame.org/wiki/Pygame2exe

指示に従い、必要に応じてファイルを変更します。「ゲーム」メインと同じディレクトリにファイルを配置し、コンソールからファイルを実行します。

于 2012-06-27T23:38:56.383 に答える