gpt4 book ai didi

python - 运行使用 cx_freeze 制作的 tkinter exe 时出错

转载 作者:可可西里 更新时间:2023-11-01 11:16:46 24 4
gpt4 key购买 nike

我正在尝试使用 cx_Freeze 从用 Python 3.5 编写的脚本创建一个独立的 exe,以便能够在没有 Python 的计算机上运行它。

程序本身只是一个使用 tkinter 的简单 UI 的小型计算器。我正在使用 Windows 10。

我创建了一个如下所示的设置脚本。

import sys
from cx_Freeze import setup, Executable
# replaces commandline arg 'build'
sys.argv.append("build")

filename = "Widgets_tmp.py"
base = None
if sys.platform == "win32":
base = "Win32GUI"
setup(
name = "Widgets",
version = "1.0",
# options={"build_exe": {"packages": ["tkinter"]}},
description = "cx_Freeze Tkinter script",
executables = [Executable(filename, base=base)])

在我尝试运行 exe 之前,它运行没有问题。然后我得到这个错误:

Traceback (most recent call last):
File "C:\python64\lib\site-packages\cx_freeze\initscripts\Console.py"
line 21, in <module>
exec(code, m.__dict__)
File "Widgets_tmp.py", line 1, in <module>
File "C:\python64\lib\tkinter\__init__.py", line 35, in <module>
import _tkinter#If this fails you Python may not be configured for Tk
ImportError: DLL load failed:

我尝试在代码和“包含”而不是“包”中注释掉的代码中手动包含 tkinter,但结果相同。

也许我应该说 Widgets_tmp.py 中的第 1 行看起来像这样:

import tkinter as tk

我尝试卡住源代码中的示例代码,但得到了同样的错误。两种代码都可以使用 python 完美运行。

我也试过使用:

options={"build_exe": {"includes": ["tkinter"]}},

但没有运气。

最佳答案

通过在我的 PC 上修改 setup.py 可以正确运行 tkinter exe。

操作系统 = win7,Python = 3.5.2,cx_freeze = 5.0

设置.py:

includes      = []
include_files = [r"C:\Users\(USERNAME)\AppData\Local\Programs\Python\Python35-32\DLLs\tcl86t.dll", \
r"C:\Users\(USERNAME)\AppData\Local\Programs\Python\Python35-32\DLLs\tk86t.dll"]

setup(
name = "Test",
version = "1.0",
options = {"build_exe": {"includes": includes, "include_files": include_files}},
executables = [Executable("test.py", base=base)]
)

您必须为您的环境修改 (USERNAME)。

关于python - 运行使用 cx_freeze 制作的 tkinter exe 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37422842/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com