TAB完成在Jupyter Notebook中不起作用,但在iPython终端中很好

问题描述 投票:25回答:5

TAB完成在iPython终端中运行良好,但在Firefox浏览器中不行。

到目前为止,我曾尝试但失败了,

1)。运行命令$ sudo easy_install readline

那么.egg文件是在/usr/local/lib/python2.7/dist-packages/readline-6.2.4.1-py2.7-linux-x86_64.egg,中写的

但TAB完成仍然无法在Jupyter Notebook中使用。

2)。也试图找到定位ipython_notebook_config.py or ipython_config.py,但失败了。

我使用Python 3.5和iPython 4.0.0。并且都安装在Ubuntu 15.10 /usr/share/anaconda3/bin/ipython中。

任何帮助,将不胜感激!

ipython-notebook readline jupyter tab-completion ubuntu-15.10
5个回答
30
投票

我的问题在于我尝试在同一个单元格中调用自动完成并导入。由于导入的东西尚未初始化,因此自动完成功能不起作用。

我只需要在一个新的单元格enter image description here中调用该对象

UPD:或者只是在同一个单元格中运行一次程序来初始化导入


3
投票

在我的例子中,在运行pip install pyreadline之后,我需要在完成工作之前重新执行Jupyter中的所有行。我一直在想为什么它适用于IPython但不适用于Jupyter。


3
投票

在我的情况下,我在Debian Linux上安装了miniconda,并且很可能在Debian中包含的以前的Python有问题。以下几行解决了我的问题:

conda update conda
conda update --all

解决方案取自here,基于我在编写np.<tab>后在终端的IPython中出现的错误:

No such file or directory: '/home/user/miniconda3/lib/python' 

1
投票

我找到的解决方法是将中间结果分配给临时变量。然后在单独的单元格中,使用临时变量上的tab进行自动完成。

temp = pd.Description

temp.tab

enter image description here


0
投票

你可以加

%config IPCompleter.greedy = True

在你的Jupyter笔记本的第一个框中。

© www.soinside.com 2019 - 2024. All rights reserved.