给IDLE(Python 3.8.3)添加行号的问题
参考百度经验以及相关教程,采用IDLEX的LineNumbers.py模块对IDLE添加行号遇到若干问题,现已解决(所用Python版本为3.8.3)
插件下载
首先遇到的问题就是链接不能下载,百度经验所提供的链接在国外,需要科学上网。
替换.py和配置.def后未生效
按百度经验替换了Linenumber.py,和将以下配置复制进config-extensions.def后,重启idle未生效。
[LineNumbers]
enable=True
enable_shell=True
enable_editor=True
visible=True
后来参考这篇博客,得知是引用库的问题,IDLEX插件版本与3.8的库不同,于是将Linenumber.py里的段落替换为
from idlelib.config import idleConf
from idlelib.delegator import Delegator
from idlelib.percolator import Percolator
使用F5进行run,这样方便解决报错。之后并配置了extensions.def
IDLE不能打开
上述操作后,出现IDLE不能打开,参考这篇博客,找到Python安装包,用repair修复失败 ,于是用安装包卸载后重装,重复上一步的替换.py和配置.def后遇到相同的问题,后得知是因为在这篇博客里多复制了
[LineNumbers_cfgBindings]
linenumbers-show=< Control-Key-space>
删去这两行后IDLE能够打开
option里有选项但无效
打开IDLE,option里面有LineNumber选项,但勾选后无效,重启仍无效,再次替换.py和配置.def后生效。目前尚不明确原因,猜测是先前搞反了.py和.def的操作顺序,导致配置文件无效。
修改.def配置
由于笔者不喜欢shell里面的行号,只想要edit里的,因此把配置文件enable_shell=True改为enable_shell=0,发现这一操作生效。
最后
经过以上验证,Python 3.8.3可以通过IDLEX的LineNumbers.py模块实现行号。