`ipython` 选项卡自动补全在导入模块时无效

107 投票
19 回答
74882 浏览
提问于 2025-04-15 21:23

在IPython中,按下Tab键的自动补全功能似乎没有正常工作。例如,

import numpy
numpy.<tab>

按下Tab键只是添加了一个制表符。

import numpy
num<tab>

同样,按下Tab键也只是添加了一个制表符。你能帮我想想可能导致这个问题的原因吗?我现在使用的是Windows 7和Python 2.6.5。

19 个回答

18
pip uninstall jedi --yes

pip install pyreadline

现在的Ipython和Jupyter笔记本不需要jedi这个东西了。所以你只需要用上面的命令把它卸载掉就行。

我是在这里看到的。

79

如果有人在使用最近的 7.19.0 版本时发现自动补全功能不工作,可以尝试把 jedi 降级到 0.17.2 版本:

pip install jedi==0.17.2

详细信息请查看 https://github.com/ipython/ipython/issues/12740

99

确保你已经安装了 pyreadline 这个库。这个库是用来实现按下Tab键自动补全和其他IPython功能的。在Windows系统上,这个库并不包含在IPython包里,所以你需要单独安装它。

> pip install pyreadline

撰写回答