python - Python IDLE 不工作(ZeroDivisionError)
问题描述
尝试打开 IDLE 时,没有任何反应,当我尝试在命令提示符下运行 IDLE 时,出现以下错误:
Traceback (most recent call last):
File "C:\Users\user\AppData\Local\Programs\Python\Python38-32\Lib\idlelib\idle.pyw", line 17, in <module>
idlelib.pyshell.main()
File "C:\Users\user\AppData\Local\Programs\Python\Python38-32\lib\idlelib\pyshell.py", line 1516, in main
shell = flist.open_shell()
File "C:\Users\user\AppData\Local\Programs\Python\Python38-32\lib\idlelib\pyshell.py", line 329, in open_shell
self.pyshell = PyShell(self)
File "C:\Users\user\AppData\Local\Programs\Python\Python38-32\lib\idlelib\pyshell.py", line 874, in __init__
OutputWindow.__init__(self, flist, None, None)
File "C:\Users\user\AppData\Local\Programs\Python\Python38-32\lib\idlelib\outwin.py", line 80, in __init__
EditorWindow.__init__(self, *args)
File "C:\Users\user\AppData\Local\Programs\Python\Python38-32\lib\idlelib\editor.py", line 218, in __init__
self.set_width()
File "C:\Users\user\AppData\Local\Programs\Python\Python38-32\lib\idlelib\editor.py", line 366, in set_width
self.width = pixel_width // zero_char_width
ZeroDivisionError: integer division or modulo by zero
我似乎找不到关于这个特定错误的不同帖子。我该如何解决
解决方案
我以前没有见过这个错误。这是来自 idlelib/editor.py 的相关代码。
# Divide the width of the Text widget by the font width,
# which is taken to be the width of '0' (zero).
# http://www.tcl.tk/man/tcl8.6/TkCmd/text.htm#M21
zero_char_width = \
Font(text, font=text.cget('font')).measure('0')
self.width = pixel_width // zero_char_width
您必须选择了一种非默认字体,它为“0”提供了 0 度量。既然您删除了 .idlerc,您还记得那是什么字体吗?(您的自定义颜色主题不应该影响这一点。)我想知道这是一次性故障还是此代码需要补丁。
写那行的人显然认为“0”的宽度为 0 是不可能的。除非字体将代码点 48 (ord('0')) 映射到空或零宽度“字符”,否则会很奇怪,否则宽度 0 将是字体数据、tk 或 Windows 中的错误。
推荐阅读
- node.js - 如何通过NodeJS中的两个唯一字段对对象进行排序
- c - 使用 libevdev 读取多点触控
- sql-server - 如何使用 TSQL 从目录中删除文件?
- c - 使用动态分配的内存替换字符串
- android - 使用 MPChart 库的折线图
- asp.net-mvc - 如何使用 Visual Studio 和 ASP.NET MVC 构建生产 Angular 应用程序
- git - 升级 macOS 后 Git pull 不起作用
- android - Android 仅引导至安全模式(牛轧糖)
- arrays - Powershell 使用 CSV 列表检查文件夹中是否缺少文件
- r - R中的模型评估与混淆矩阵