IPython 6.3.1如何开启函数参数自动提示功能?
解决IPython 6.3.1自动显示函数参数的问题
你从IDLE转用IPython后想念自动参数提示的功能很正常,毕竟这个功能确实能提升写代码的效率。针对你用的IPython 6.3.1(Python 3.6.5)版本,下面给你一步步解决这个问题:
1. 先检查并安装Jedi补全引擎
IPython 6.x开始默认依赖Jedi来实现代码补全和参数提示,如果你的环境里没装这个库,就会导致相关功能失效。打开终端运行以下命令安装:
pip install jedi
安装完成后重启IPython,先试试输入import math再敲math.pow(,看是否已经能弹出参数提示。
2. 临时开启自动参数提示(仅当前会话生效)
如果不想修改全局配置,可以先在IPython会话里临时开启功能,输入以下代码:
%config Completer.use_jedi = True %config Completer.auto_load_docstring = True
设置完后再测试函数参数提示,应该就能正常工作了。
3. 永久配置自动参数提示(每次启动IPython都生效)
要是希望每次打开IPython都自动启用这个功能,需要修改IPython的配置文件:
- 首先生成配置文件(如果还没生成过):
ipython profile create - 找到生成的配置文件,路径是
~/.ipython/profile_default/ipython_config.py,用文本编辑器打开它 - 在文件里添加或修改以下配置项:
# 启用Jedi作为补全引擎 c.Completer.use_jedi = True # 自动加载函数文档和参数提示 c.Completer.auto_load_docstring = True # 设置Jedi类型计算的超时时间,避免因超时不显示提示 c.Completer.jedi_compute_type_timeout = 100 - 保存文件后重启IPython,以后输入函数名加左括号时,就会像IDLE那样自动弹出参数提示了。
补充:关于Shift+Tab无效的问题
如果安装Jedi并配置后Shift+Tab还是没反应,大概率是你的终端快捷键冲突了——比如有些终端会把Shift+Tab绑定成“反向切换焦点”的功能。你可以检查终端的快捷键设置,或者试试Ctrl+Shift+Tab(部分环境下能替代Shift+Tab触发参数提示)。
内容的提问来源于stack exchange,提问作者Arun
相关产品推荐
相关产品推荐

