【问题标题】:Python Tkinter: Pmw only works in IDLE / PyCharmPython Tkinter:Pmw 仅适用于 IDLE / PyCharm
【发布时间】:2024-05-15 20:30:02
【问题描述】:

我正在 Python 2.7 中构建一个 GUI 程序,但在双击 .py 文件时从未显示 GUI 窗口。

我相信我已将问题缩小到 Pmw(Python 巨型小部件)。如果我在注释掉“import Pmw”的情况下运行以下示例代码,我可以通过双击 .py 文件打开 GUI。如果我改为导入 Pmw,我无法通过双击打开 GUI。 exe 窗口只是闪烁并立即消失。但是,如果我通过 PyCharm 启动程序,它在这两种情况下都有效。

from sys import exit
from Tkinter import *
# import Pmw

root = Tk()
Button(root, text="Hello", command=exit).pack()
root.mainloop()

我卸载并重新安装了 Pmw。这没有帮助。 我已经在谷歌搜索了一天的大部分时间,但没有找到任何相关内容。 我在 Windows 7 中使用 Python 2.7。

【问题讨论】:

  • 你得到了什么确切的错误?
  • 我没有看到任何错误。 exe 窗口出现几分之一秒,然后消失。我开始怀疑这个问题可能与 Tkinter 有某种关系,并试图从 Pmw 导入一个特定的类。当我输入“from Pmw import RadioSelect”时,PyCharm 突出显示了“RadioSelect”类并给了我一个“未解决的参考”通知。难道是Pmw安装还是不成功?
  • 这是因为 PyCharm 的静态分析。我认为你需要在 python 调试器中启用一些东西。打开 Python 调试器并检查“收集运行时类型信息以了解代码”
  • 我不太明白你的建议。我在 Python 调试器中选中了“为代码洞察收集运行时类型信息”框。存在同样的问题。
  • 好的..尝试右键单击出现错误的位置(代码)并单击“忽略未解决的引用-->抑制语句”

标签: python python-2.7 user-interface import tkinter


【解决方案1】:

通过卸载基本的 Python 2.7 安装并在我的计算机上仅保留 Anaconda 安装解决了该问题。

长篇大论: 我在我的计算机上安装了 Python 2.7 的基本安装和 Anaconda 安装。在 PyCharm 中,我将 Anaconda 安装设置为项目解释器。同样,我为该安装创建了一个 PATH 变量。因此,在 Pycharm 或 cmd 中运行程序时,它使用了正确的解释器(安装了 Pmw)。

当我双击文件夹中的程序时,它使用基本安装作为解释器。那失败了,因为基本安装没有安装 Pmw。

困扰我的仍然是,即使我右键单击文件夹中的程序并选择 Anaconda 安装的 python.exe 来运行它,它仍然失败。

感谢@furas 的帮助!

【讨论】:

    【解决方案2】:

    这也是我的问题,安装“Pmw”包的艰巨任务终于通过anaconda云包找到了解决方案

    首先进入你的 anaconda cmd 提示符。 然后输入 -conda install -c fable pmw 然后回车。

    一旦完成任务,它需要很少的时间来完成。 只需键入

    即可在 anaconda 的 Ipython 中检查软件包的安装情况

    帮助(“模块”) 你会在包列表中找到 Pmw。

    现在你可以通过输入来导入它 导入Pmw

    【讨论】: