【问题标题】:Py2app problemsPy2app 问题
【发布时间】:2017-01-25 07:38:17
【问题描述】:

我创建了一个使用 tkinter GUI 的 python 脚本,我尝试使用 py2app 打包它,我的问题是我不知道如何包含 tkinter 模块。我尝试在没有模块的情况下打包我的脚本,但我得到的只是一条控制台消息,上面写着“ImportError:没有名为 tkinter 的模块”

【问题讨论】:

  • 你用的是什么版本的python?
  • 我正在使用 python 3.3 for mac
  • py2app 存储库中的 tkinter 示例是否有效?
  • 不,同样的错误
  • 你是如何安装 Python 和 tkinter 的? (Python.org 安装程序、自行构建、自制软件……)?

标签: python tkinter py2app


【解决方案1】:

要捆绑应用程序,我假设您将其放在终端中:

$ python setup.py py2app

我也遇到了同样的问题,一直在网上搜索解决方案。我也在 Mac 上运行 python 3.3。在我放这个之后:

$ python3 setup.py py2app

它就像一个魅力!希望这会有所帮助!

【讨论】:

    【解决方案2】:

    下面的 setup.py 脚本应该可以处理基于 Tkinter 的基本脚本(将“hello.py”替换为实际脚本的名称)。

    from setuptools import setup
    
    setup(
        app=['hello.py'],
        setup_requires=["py2app"],
    )
    

    这是来自 py2app 的 hello_tk example 的 setup.py 脚本

    更新:

    您稍后提到 tkinter 也不能从 py2app 的应用程序“外部”导入,并且 _tkinter 扩展 (_tkinter.so) 不存在。这意味着您的 Python 3.3 安装有问题。

    【讨论】:

    • 我原以为这会起作用,但事实证明它不起作用,它只是返回相同的错误
    • 我不知道你为什么失败,我无法重现问题:-(。
    • 排除显而易见的问题:tkinter 是否从命令行工作(即,当您运行脚本而不使用 py2app 创建应用程序包时)?
    • 否,它返回此错误: Traceback (last recent call last): File "aspect.py", line 1, in from tkinter import * ImportError: No module named tkinter
    • 这需要先解决。需要调查的事情:(1)'import _tkinter'有效吗? (2) /Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/lib-dynload/_tkinter.so 是否存在(假设您使用 www.python.org 上的二进制安装程序)? (3)“otool -vL /Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/lib-dynload/_tkinter.so”输出中提到的文件是否存在?
    【解决方案3】:

    打包应用程序的一种方法是运行以下命令:

        py2applet --make-setup filename.py
    

    然后,你可以运行:

        python3 setup.py py2app -A
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-26
      • 1970-01-01
      • 2021-09-16
      • 1970-01-01
      相关资源
      最近更新 更多