【问题标题】:Tkinter error with importing导入时出现 Tkinter 错误
【发布时间】:2014-06-26 19:07:18
【问题描述】:

我正在尝试在 python 中创建一个简单的 gui 程序,但是当我尝试运行它时出现此错误:


这就是我所有的代码。

from Tkinter import *


test = Tk()

test.title("Reverse")
test.geometry("300 x 200")

test.mainloop()

   'import site' failed; use -v for traceback
        Traceback (most recent call last):
       File "C:/Users/Brenda/PycharmProjects/Reverse a String/Reverse a String.py", line 1, in <module>
        from Tkinter import *
      File "C:\Python27\Lib\lib-tk\Tkinter.py", line 38, in <module>
        import FixTk
      File "C:\Python27\Lib\lib-tk\FixTk.py", line 1, in <module>
        import sys, os
      File "C:\Python27\Lib\os.py", line 398, in <module>
        import UserDict
      File "C:\Python27\Lib\UserDict.py", line 84, in <module>
        _abcoll.MutableMapping.register(IterableUserDict)
      File "C:\Python27\Lib\abc.py", line 109, in register
        if issubclass(subclass, cls):
      File "C:\Python27\Lib\abc.py", line 184, in __subclasscheck__
        cls._abc_negative_cache.add(subclass)
      File "C:\Python27\Lib\_weakrefset.py", line 86, in add
        self.data.add(ref(item, self._remove))
    TypeError: cannot create weak reference to 'classobj' object

【问题讨论】:

  • 在 2.7 中你可能想尝试from tkinter import * 我不记得了,但在某些时候它是小写的……我知道这很烦人,但也许这就是问题所在?如果你只做import os会发生什么?
  • @Joran Beasley 在 Python2 中为大写,在 Python3 中为小写。
  • 顺便说一句:最好不要在文件名Reverse a String.py(以及文件夹名)中使用空格

标签: python user-interface tkinter


【解决方案1】:
test.geometry("300 x 200") should be: 
test.geometry("300x200")

另外,请确保您安装 tkinter 的方式正确。在 linux 机器上,使用:

sudo apt-get install python-tk

您也可以尝试查看以下类似问题:https://stackoverflow.com/q/7753181/3681650

【讨论】:

  • 更改 test.geometry 后,我仍然遇到同样的错误。我也在 Windows 上,我相信 python 安装包括 tkinter 和其他所有东西。
  • 您是否合并了 furas 提到的更改? test.geometry 是您的代码的另一个问题。
  • 打开python解释器,输入“from Tkinter import *”,显示的错误是什么?
猜你喜欢
  • 2018-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-20
  • 2018-12-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多