将Tkinter py文件转换为EXE文件

时间:2017-06-30 11:13:27

标签: python tkinter exe cx-freeze

我试图使用cx_freeze将我的tkinter文件转换为EXE,但我一直都遇到这个错误 the error

希伯来语部分的翻译:模块没有找到

我的设置文件代码是:

    import sys
from cx_Freeze import setup, Executable
import os

os.environ['TCL_LIBRARY'] = "C:\\Users\\royreznik\\AppData\\Local\\Programs\\Python\\Python36-32\\tcl\\tcl8.6"
os.environ['TK_LIBRARY'] =  "C:\\Users\\royreznik\\AppData\\Local\\Programs\\Python\\Python36-32\\tcl\\tk8.6"


build_exe_options = {"includes": ["tkinter"]}

base = None
if sys.platform == "win32":
    base = "Win32GUI"

setup(
    name = "simple_Tkinter",
    version = "0.1",
    description = "Sample cx_Freeze Tkinter script",
    options = {"build_exe": build_exe_options},
    executables = [Executable("tal1.py", base = base)])

我的主要文件是:

from tkinter import *
root = Tk()


Entry1 = Entry(root)
Entry2 = Entry(root)

Entry1.grid(row=0)
Entry2.grid(row=1)

Label1 = Label(root, text="null")
Label1.grid(row=4)

def funca():
    phrase = Entry1.get()
    words = phrase.split()
    wordCount = 0;
    for word in words:
        if word == Entry2.get():
            wordCount = wordCount+1
    Label1.configure(text=wordCount)

btn = Button(root, text="get Num",command=funca)
btn.grid(row=3)



root.mainloop()

问题是什么?

1 个答案:

答案 0 :(得分:1)

在Python目录的DLLs文件夹中,您会找到tk86t.dlltcl86t.dll。您必须使用要编译的main.py将它们复制到build文件夹中。

然后您必须将这两个文件添加到include_files的{​​{1}}参数中。

现在,您的setup.py应该是这样的:

setup.py

当然,您可能需要调整目录路径才能使其正常工作。