冷凍Tkinter的應用我已凍結「字體沒有定義」一TKinter的使用GUI的Python 3.4應用程式cx_Freeze和當我試圖運行它,我提出以下錯誤:在由cx_Freeze
NameError: name 'font' is not defined.
當我從我的代碼中刪除了對字體的所有引用(例如,如果我沒有在代碼中的任何位置設置ttk標籤字體),它工作得很好,並且EXE運行良好。我檢查了由凍結腳本創建的library.zip壓縮文件,它包含tkinter目錄中的font.pyc文件。 這是文件看起來什麼我setup.py,如:
import cx_Freeze
import sys
import tkinter
base = None
if sys.platform == 'win32':
base = "Win32GUI"
executables = [cx_Freeze.Executable("rocnikovka.py", base=base)]
cx_Freeze.setup(
name = "Number evolution",
options = {"build_exe": {"packages":["tkinter", "tkinter.font"], "includes": ["tkinter", "tkinter.font"]}},
version = "0.01",
description = "Rocnikovka",
executables = executables
)
任何幫助表示讚賞。
更新:我也嘗試使用py2exe製作一個可執行文件,但最終獲得了相同的結果。看起來像tkinter的問題,而不是與cx_Freeze。
更新#2:我進口的Tkinter和TTK在這樣的腳本:
from tkinter import *
from tkinter import ttk
我在腳本中定義的幾個字體,像這樣的:
font_title = font.Font(family = "Exo 2", size = 20, weight = "bold")
然後我使用字體參數ttk.Label對象。
在IDLE中作爲腳本運行時,這一切都很好。
嘗試使用packages = []運行它,排除= [],cx-freeze發現tkinter與我一起使用python3.4 – timeyyy
感謝您的提示。不過,我一直在收到同樣的錯誤。 –
毫米沒有看到所有的代碼很難嘗試/多說。我猜這不是一個導入錯誤,因爲你有一個名稱錯誤而不是導入錯誤。除非你調用import tkinter.fontt,否則不會加載字體,代碼是否可以像腳本一樣運行? – timeyyy