[英]Python 3.2 Cx_Freeze won't compile whole tkinter
我做了這個小計算器,我嘗試用cx_freeze進行壓縮。 它計算一些東西,並在messagebox中給出答案。 當我從IDLE運行它時工作正常,但是當我從.exe運行它時,它會打開用Tkinter創建的GUI,但是如果我按下我的計算按鈕,它會彈出消息框,它會在dos shell中給出以下錯誤:
'Tkinter回調中的異常回溯(最近一次調用最后一次):文件“C:\\ Python32 \\ lib \\ tkinter__init __。py”,第1399行,在調用返回self.func(* args)文件“calculator1.pyw”,第46行, in energyKinetic NameError:全局名稱'messagebox'未定義'
我使用以下'setup.py':
from cx_Freeze import setup, Executable
setup(
name = 'Kinetic Energy Calculator',
version = '0.1',
description = 'Calculate',
executables = [Executable('calculator1.pyw')],
)
並從cmd使用'C:\\ Python32> python setup.py build'運行它。
計算器本身的代碼只是siple Tkinter GUI,帶有按鈕,標簽,條目和消息框,所以我沒有看到在這里發布它的共鳴,除非當然有人會覺得我這樣做是必要的。 那么,有沒有什么重要的我沒有放入setup.py來正確編譯?
您將不得不使用tkinter窗口創建自定義消息框,因為在嘗試啟動除按F5按鈕之外的程序時,實際的消息框不存在。 換句話說,你無法解決它。 你必須創建新的窗口。
您還忘了添加基本選項:
setup(
name = 'Kinetic Energy Calculator',
version = '0.1',
description = 'Calculate',
executables = [Executable('calculator1.pyw', base="Win32GUI")]
)
雖然它仍然不起作用,但現在可以識別tkinter。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.