使用cx_Freeze创建可执行文件(无法导入_tkinter,DLL加载失败)

时间:2017-02-19 10:41:50

标签: python build cx-freeze

我正在尝试使用cx_Freeze从我的Python项目创建可执行文件,但仍然遇到此错误:

enter image description here

这是我的setup.py:

import cx_Freeze
import os, sys

os.environ['TCL_LIBRARY'] = "D:\\Code\\Python\\3.5.2\\tcl\\tcl8.6"
os.environ['TK_LIBRARY'] = "D:\\Code\\Python\\3.5.2\\tcl\\tk8.6"

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

executables = [cx_Freeze.Executable("Main.pyw", base=base)]
includes      = ["tkinter"]
include_files = [r"D:\Code\Python\3.5.2\tcl\DLLs\tcl86t.dll", \
                 r"D:\Code\Python\3.5.2\tcl\DLLs\tk86t.dll"]

cx_Freeze.setup(
    name="Test", 
    version = "1.0",
    options={"Test.exe": {"packages":["pygame", "numpy"], "includes": includes, "include_files": include_files}}, 
    executables = executables)

我尝试将tkinter放在“软件包”列表中,但仍会出现相同的错误。我还检查了其他StackOverflow帖子,并将他们setup.py代码的一部分用于我的,但没有任何工作。我无法使用PyInstaller,因为它不支持pygamepy2exe不支持Python 3.5。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

将文件(tcl86t.dll,tk86t.dll)复制并粘贴到exe.win。 它对我有用。