以下に再現した状況を書きますので、小学生に説明する様な気概で丁寧に対処法を教えて頂けませんでしょうか。指示の通りに操作し解決した場合、少ないですが500ポイントを送付させて頂きます。
環境:Windows7(54bit)/Python 3.1.1 Windows x86/cx_Freeze Windows Installer (Python 3.1)
Python及びcx_FreezeのインストールディレクトリはC:\Python31。
exe化対象のスクリプトではtkinterをtkという名前でインポートしています。
以下cmd操作。
cd C:\Python31\Scripts
cxfreeze script.py
以上の操作でバイナリ生成までは完了します。
しかし、exeファイルの実行時エラーが発生してしまいます。
C:\Python31\Scripts\dist>script.exe
Traceback (most recent call last):
File "C:\Python31\lib\site-packages\cx_Freeze\initscripts\Console3.py", line 2
7, in <module>
exec(code, m.__dict__)
File "script.py", line 9, in <module>
File "C:\Python31\lib\tkinter\__init__.py", line 38, in <module>
from tkinter import _fix
ImportError: cannot import name _fix
_fixモジュールの読み込みに失敗している様ですが、対象方法がイマイチ解りません。ご教授お願い致します。
1.cmd操作を次のように変更して、実行します。青字部分が追加する文字です。
cd C:\Python31\Scripts
cxfreeze script.py --include-modules tkinter._fix
2.できたexeを実行します。
原因:cxfreezeなどでは、自動でのincludeが失敗することが多いため。明示してincludeすればエラーは消えます。
Windows7(54bit) → Windows7(64bit)
Python、cx_Freeze共にインストール後設定など全く弄っておりません。
tcl8.5フォルダ及びtk8.5フォルダもエラーになること書くの忘れていました。ごめんなさい。
参考の同様事例でも同じことが起きています。
ポイントありがとうございました。