【问题标题】:IPython and Jupyter autocomplete not workingIPython 和 Jupyter 自动完成功能不起作用
【发布时间】:2017-03-25 00:14:24
【问题描述】:

我对此很陌生,不知道为什么自动完成功能不起作用。我尝试修改 iPython 配置文件,安装 readline,但仍然没有。

【问题讨论】:

  • 你尝试了什么,你看到了什么?当您键入一些代码并按 Tab 键时,应该会显示完成。

标签: python jupyter-notebook ipython


【解决方案1】:

如果您尝试使用 juptyerlab 扩展管理器安装 tabnine,请输入

pip uninstall jupyterlab_tabnine

在外壳中。当您仍然遇到问题时,请删除该文件夹

%appdata%\Python\share\jupyter\labextensions\@tabnine\

这对我有用

【讨论】:

    【解决方案2】:

    如果您将 jedi=0.18 与 ipython=7.19 一起使用,请在您的环境中尝试以下操作:

    pip install -U ipython==7.20

    this github discussion

    【讨论】:

      【解决方案3】:

      我使用 JupyterLab 3.0.6。我安装了 ipython 7.19.0 和 jedi 0.18。正如@DaveHalter 所指出的,比 更好的是使用先前版本的绝地 。 在 2021 年 1 月 31 日,它对我来说非常有效。

      【讨论】:

      • 我已经安装了 JupyterLab 3.0.6。只需更改/安装绝地版本。现在,这对我有用!谢谢。 pip3 install jedi == 0.17.2
      【解决方案4】:

      用户认为自动完成功能不起作用的一个可能原因可能是自动完成功能耗时太长。大约在 2020 年 11 月 27 日,对于 Pandas 在 Jupiter notebook 环境中使用 jedi 操作时尤其如此。

      这个问题可以通过使用以下magic 来解决,它会停用jedi

      %config Completer.use_jedi = False

      如需更深入的讨论,请关注thread 和其中的链接。

      【讨论】:

      • 要使更改永久生效,请找到您的个人资料目录ipython locate 并在ipython_config.py 中编辑Completer.use_jedi 的相关条目。
      • 它对我有用。顺便说一下,如果是第一次编辑配置文件,你需要先使用:ipython profile create创建它,详情见ipython.readthedocs.io/en/stable/config/intro.html
      【解决方案5】:

      似乎安装特定版本的jedi 对我有用:

      !pip install --upgrade jedi==0.17.2
      

      【讨论】:

      • 这对我有用,我有 jedi v. 0.17.0 并升级它重新启用了自动完成功能。
      • 对我来说也是如此(Ipython 7.22,绝地 0.17.0)
      • 今天尝试 JupyterLab 时,这对我来说根本不起作用。我不知道为什么允许这种情况持续这么长时间。我正在尝试向几位同事教授 Jupyter,而自动完成功能被破坏是一个很大的 UX 失败。
      • 对于任何使用“旧”版本的 ipython 来到这里的人,Jedi 依赖项存在一个错误,(0.18.0 不起作用,0.17.2 起作用)。 github.com/ipython/ipython/issues/12740
      【解决方案6】:

      当前带有 Jupyter notebook 的 Ipython 不需要 jedi。所以你只需使用以下命令将其卸载。

      pip uninstall jedi --yes
      

      【讨论】:

      • 有意思,但是卸载jedi并没有解决问题,还是需要%config命令。
      • 在 SageMaker Studio 笔记本中为我工作
      • 卸载绝地对我有用。 (%config 也有效)。
      • 这完全没有解决我在 Mac 上的问题,JupyterLab。我想说,这个问题的每个不涉及配置更改的答案基本上都是无用的和偶然的。
      • 对我不起作用。通过在特定环境中卸载绝地,我在内核中得到了AttributeError: module 'jedi' has no attribute 'settings' 错误。更新ipython_config.py 有效,%config Completer.use_jedi = False 也有效
      【解决方案7】:

      就在 Python 徽标下方有一个按钮说

      不信任

      单击它并将其设置为受信任的笔记本。

      【讨论】:

        【解决方案8】:

        Ipython 6+ 现在内置了jedi integration

        更新 Ipython,并安装 jedi:

        pip install ipython --upgrade
        pip install jedi
        

        如果您使用的是 Anaconda / conda:

        $> conda update jupyter --update-dependencies
        $> conda install jedi
        

        【讨论】:

        • 正确的 conda 命令是:conda update jupyter --update-deps
        【解决方案9】:

        安装:

        C:> pip install pyreadline
        

        工作正常,正如旧的 post 中所建议的那样

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-05-24
          • 1970-01-01
          • 1970-01-01
          • 2017-02-28
          • 2020-11-14
          • 2014-03-11
          • 2014-01-16
          • 2011-03-14
          相关资源
          最近更新 更多