【问题标题】:IDLE Settings window won't appear空闲设置窗口不会出现
【发布时间】:2021-08-31 09:25:20
【问题描述】:

我已经使用来自here 的最新安装程序在 Windows 10 上安装了 Python。一切正常,除了一件事,当我想配置 IDLE(选项->配置 IDLE)时,设置窗口不会出现并且 IDLE 冻结(没有响应)。我尝试重新安装 Python,甚至删除了 .idlerc 目录,但问题仍然存在。知道如何解决这个问题吗?

【问题讨论】:

  • 这是一个难题。它是关于安装的,而不是关于编程的,这使它成为这里的主题。它更适合 python-list 邮件列表 (mail.python.org)。问题和答案可能与您的机器相当具体。无论如何,您安装的确切版本是什么,您是如何安装的(安装时选择了哪些选项),以及您是如何启动 IDLE 的。问题是在启动后立即出现还是在执行其他操作后出现?
  • 如果您从命令提示符使用py -m idlelib 启动 IDLE,当 IDLE 冻结时您是否在命令提示符中看到任何消息?
  • Python 3.9.6 amd64 默认安装选项以及将 Python 添加到 PATH 和仅为我启动的启动器。我使用开始菜单启动 IDLE。问题在启动后立即出现。当 IDLE 被冻结时,命令提示符中不会出现任何消​​息。 IDLE 内存使用量在冻结状态下持续增长。
  • 我运行了相同的二进制文件,大部分是默认的,直到星期一,当我升级到 3.9.7。你可以试试。在 CommandPrompt 中,setHOMEDRIVEHOMEDIRUSERPROFILE 显示什么? .idlerc 是在您的用户目录中创建的吗?如果有,它包含什么?如果你想尝试调试,在 /Lib/idlelib/editor.py 方法 EditorWindow.config_dialog 中,在调用对话框之前添加print('Event', self.top)。在 CommandPrompt 中启动 IDLE。打开选项=>空闲首选项。您应该会在命令提示符中看到打印输出。
  • 如果可行,请在 configdialog.Configdialog.__init__ 中尝试相同的操作,并尝试找到最后一条干净执行的语句。然后在代码中对失败的任何功能尝试相同的操作。哦,关于set.idlerc 的问题是基于认为最有可能失败的地方。另一方面,您的症状描述不符合我所知道的任何故障模式。

标签: python python-3.x python-idle


【解决方案1】:

问题原来是 IDLE 无法加载一些“不兼容”的字体。在我的情况下,它是来自CTAN 的 Phaistos 字体(我弄错了,国际象棋字体没有这个问题)。为了重现问题,只需从包中安装 Phaistos.otf(右键单击该文件并单击安装)。补救方法很简单,打开控制面板 -> 字体然后找到并选择 Phaistos 常规字体,然后单击删除按钮。

更新 1:我已在另一台计算机单元中成功重现了该问题。我想这不是我的机器特有的。

更新 2:我相信这是在文件 configdialog.py 中无法干净执行的特定语句

for font in fonts:
    self.fontlist.insert(END, font)

【讨论】:

【解决方案2】:

安装 3.9.9 和/或即将推出的 3.10.1 应该可以解决此问题。

Python tracker 的调查导致了 tcl/tk 错误报告,他们声称该错误报告导致了修复。 tcl/tk 8.6.12 release note 特别指出修复包括“ - Windows 加载 Phaistos 字体”。 3.9.9 Windows 安装程序包括 tcl/tk 升级。 3.10.1也会。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-16
    • 1970-01-01
    • 2012-01-05
    • 2012-10-20
    • 2016-11-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多