【问题标题】:Using EasyGui With Cx_Freeze将 EasyGui 与 Cx_Freeze 一起使用
【发布时间】:2012-05-17 23:54:16
【问题描述】:

相对于我的另一个问题,我创建了这个问题 - 如何在 Cx_freeze 中包含模块,但我认为这对我当前的问题并不真实。

当我冻结使用 easygui 的程序时,我收到一大堆关于缺少模块的错误,是的 - easygui 安装了 Python32,是的 - Easygui 在站点 - 包中,

任何帮助将不胜感激,仅供参考,我正在使用基本的 setup.py ;)

from cx_Freeze import setup, Executable

setup(
        name = "GUIproject",
        version = "0.1",
        description = "Sample Test easygui",
        executables = [Executable("GUIproject.py")])

它报告的缺失模块包括 PIL、S​​tringIO、Tkinter 和 tkFileDialog。

【问题讨论】:

    标签: module python-3.x cx-freeze easygui


    【解决方案1】:

    这可能没问题 - 请参阅 this answer 了解为什么缺少模块不是问题。

    在这种情况下,PIL 对于 Easygui 是可选的,另外 3 个是 Python 2 名称。 Easygui 将改为导入 Python 3 名称(您正在运行 Python 3.2) - 如下所示:

    try:
        import tkinter  # Python 3
    except ImportError:
        import Tkinter as tkinter  # Python 2
    

    所以无论如何你都应该得到一个输出的 exe 文件 - 尝试运行它,看看它是否有效。

    【讨论】:

    • 我有一个包含 .exe 的构建文件夹,但是当我尝试运行它时。它出现了一个命令行窗口,一个错误很快就关闭了,我设法收集到它说一大堆回溯,但在最后一行它说“这可能意味着 TCL 没有正确安装” - TCL 是什么?哦,我试过那个 sn-p,它起作用了。
    • Tkinter 需要 Tcl,这是 easygui 用来制作界面的。你构建它的方式,你得到一个命令行应用程序,所以要么从命令行运行它,要么设置base='Win32GUI',就像the example一样。
    • 谢谢,我现在就试试。
    • 我仍然再次收到大量缺失模块错误。运行 .exe,我得到原始异常,没有名为 tkinter 的模块,我需要安装 tkinter 吗?
    • 我可以在运行.exe 时将错误发送给您吗?我还删除了代码 excludes = ['tkinter' ]} 但是,当我尝试运行 .exe 并使用命令提示符打开时,这给了我错误消息
    猜你喜欢
    • 1970-01-01
    • 2015-06-13
    • 1970-01-01
    • 1970-01-01
    • 2020-04-25
    • 1970-01-01
    • 2014-06-30
    • 2017-04-08
    相关资源
    最近更新 更多