问题描述
最近在升级jupyter
之后,发现TAB自动补全功能出现异常,表现为:
- 在
notebook/ipython
中,有些时候补全的代码明显跟以前不一样,譬如./<TAB>
,应该返回目录结构的,而返回了其他不相关的东西。 tips.tip.<TAB>
无法继续自动补全(tips
为常用数据集)。
对于一个被ipython
培养出来的懒人,这真的是无法忍受的,前后花了两天思考这个问题,写点东西以供后来人备查。
解决过程
尝试了以下方法:
- 怀疑是包依赖问题,尝试重装,强制升级,强制更新,
jupyter
/jupyter notebook
/ipython
/pyreadline
/readline
,都无结果。 - 怀疑是
readline
设置问题,在\.ipython\profile_default\startup
目录下,写入手动设置readline
的文件。 - 怀疑是升级的包出现问题,回滚部分包,从
ipython
查起,2018-12-5号有新版本7.2.0
升级公告,使用pip install ipython==7.1.1
安装指定ipython
版本,完美解决!
问题原因
ipython 7.2.0
版本升级,导致自动补全(auto complete)功能出现异常,pip install ipython==7.1.1
安装指定版本即可。