私が設計した python ゲームを exe に変換しました。exe自体を実行すると、フラッシュしてから閉じます。これは、エラーが発生したことを意味します。コマンドプロンプトから実行してもエラーが発生しますが、それを文書化しています:
Cannot load image: Playfield.png
Couldn't open images\Playfield.png
これは、load_image
ブロックが失敗していることを示しています。images
ディレクトリを持っていなかったときに、これに遭遇したことがあります。
images
フォルダをディレクトリに移動しようとしましたdist
。これは表示されるエラーです:
Traceback (most recent call last):
File "Table_Wars.py", line 728, in <module>
File "Table_Wars.py", line 51, in main
File "Table_Wars.py", line 236, in __init__
File "pygame\__init__.pyc", line 70, in __getattr__
NotImplementedError: font module not available
(ImportError: DLL load failed: The specified module could not be found.)
py2exe を使用するのはこれが初めてなので、何が起こっているのかよくわかりません。生の Python ファイルである Table_Wars.py 自体は、期待どおりに実行されます。
それが役立つ場合、Table_Wars フォルダー全体の場所は、私のデスクトップ (C:\Users\Oventoaster\Desktop\Games\Table_Wars) にある Games というフォルダー内にあります。Windows 7 32 ビット OS を実行しています。
リクエストに応じて、生成した output.txt を次に示します。
Folder PATH listing for volume OS
Volume serial number is 7659-4C9C
C:\USERS\OVENTOASTER\DESKTOP\GAMES\TABLE_WARS
build
bdist.win32
winexe
bundle-2.7
collect-2.7
ctypes
distutils
email
mime
encodings
logging
multiprocessing
dummy
pygame
threads
unittest
xml
parsers
temp
dist
images
ファイルの変換に使用した setup.py は次のとおりです。
from distutils.core import setup
import py2exe
setup(console=['Table_Wars.py'])
編集:完全な py2exe の例を使用しようとしました。これによりexeが作成されますが、同じCannot load image
エラーが発生します。images
フォルダーをexeと同じフォルダーに配置しようとすると、Runtime Error: The application requested the runtime to terminate it in an unusual way.
Slace Diamondが提案したコードの短縮形は、py2exeが見つけられないようにしますTable_Wars.py
:
コマンドから:
running py2exe
*** searching for required modules ***
error: Table_Wars.py: No such file or directory.
setup
とTable_Wars
同じディレクトリにあります。問題がなければ、python.exe と setup.py へのフル パスを入力します。
編集: 近づいているようです。images
内にディレクトリを配置しましたがself.extra_datas
、今は次のようになっています。
Fatal Python error: (segmentation fault)
This application has requested the runtime to terminate it in an unusual way. Please contact the application's suppourt team for more information