3 题: 点上的iPython代码完成/智能感知可能吗?

在...创建的问题 Fri, Nov 13, 2015 12:00 AM

当有人试图学习Python的细节(强调科学计算 - 即:熊猫,numpy,scikit-learn)时,大多数大师似乎都在推荐和使用iPython笔记本。作为初学者/中级编码器,我最大的难点在于我需要从IDE中获取代码完成/智能感知功能来学习函数参数。我现在还不知道在我目前的开发中可以使用哪些参数。

在iPython中,我注意到我可以按Tab显示选项的下拉菜单(见下面的pd。)但我不想每次都打。这对我的需求来说不是用户友好的。相反,当我按下dot时,我希望它只显示可用的类和方法。

其次,我注意到如果我说pd.read_csv(<TAB>,我得到的选项比read_csv中的实际参数多得多。

问题:按下点/句点后,iPython可以立即自动显示准确的代码完成选项吗?另外,有没有办法将它配置为仅在函数内显示可用的函数参数?

为了使这个问题超级具体,我不是要求使用任何其他IDE;我只是非常具体地询问iPython,并想知道是否有办法设置某种配置,以便在按下“点”(没有时间延迟)时立即获得准确的“点”显示选项。

下面的例子显示了Desktop,它显然不是pd.read_csv()的参数。

    
42
3答案                              3 跨度>                         

您可以按<Shift>-<Tab>获取显示该功能签名的工具提示:

或者,调用zip?会在窗口底部打开一个文档窗格。

就工具提示自动打开,我不确定。我想通过配置是不可能的。

    
47
2015-11-13 19:20:18Z
  1. 两个快捷方式都没有显示类成员,函数参数或任何内容的任何提示。还有什么我应该安装才能启用?
    2016-04-20 01:16:52Z
  2. @ tutuca据我所知,这应该可以在不需要除jupyter之外的任何软件包的情况下工作。我建议您确保安装了最新版本的jupyter,并且可能希望查看操作系统上的快捷方式是否有所不同。
    2016-04-21 19:20:38Z
  3. 你是对的,我的图书馆没有重新加载,我只是打开和关闭笔记本电脑并开始工作。感谢您的回复:)
    2016-04-21 20:25:08Z
  4. 有没有办法在交互式IPython shell中访问此功能?
    2017-02-03 11:09:18Z
  5. 恭敬地,“我不确定”和“我猜......”不回答这个问题,而且函数签名无关紧要。
    2018-09-03 16:59:20Z
  6. 醇>

差不多3年后,我终于遇到了一个潜在的解决方案。

回答:安装 nbextensions 并启用Hinterland扩展。

  

为代码单元中的每个按键启用代码自动完成菜单,   而不是仅用标签调用它。

这是你做的:

  1. pip install jupyter_contrib_nbextensions
  2. jupyter contrib nbextension install --user
  3. 启动jupyter notebook(浏览器启动)
  4. 其中一个标签现在应该显示“ Nbextensions
  5. 在那里,你会发现“ Hinterland ”。选中复选框以启用。
  6. 醇>

    Hinterland有一些可调节的选项,如:

  • hinterland.hint_delay :按键和按键之间的延迟时间(以毫秒为单位)提示请求。
  • hinterland.enable_at_start :是否在首次打开笔记本时启用hinterland的连续提示,或者仅当从帮助菜单项中选择时才启用。
  • hinterland.hint_inside_comments :是否在键入代码注释时请求提示。默认为false。
  • 其他正则表达式选项:hinterland.exclude_regexp,hinterland.include_regexp,hinterland.tooltip_regexp

    
10
2018-09-11 16:59:08Z

如果您使用的是Jupyter笔记本并且您的Intellisense无法正常工作,请在下面键入并在(。)之后按TAB键。

%config IPCompleter.greedy = True

它也适合你。

    
6
2018-07-30 18:11:16Z
  1. 我很难判断这是否回答了他们的问题,或者只是建议在.之后按Tab键(这明确是用户希望在他们的问题中避免的)。
    2018-07-30 18:25:59Z
  2. 截至目前,我们没有任何可以避免按Tab键的内容。将来可能......
    2018-08-01 19:35:30Z
  3. 醇>
来源放置 这里