IPython 和 Jupiter 自动完成失败

我是非常新的这个,不知道为什么自动补全不工作。我尝试修改 iPython 配置文件,安装 readline,但仍然没有结果。

86851 次浏览

Installing:

C:> pip install pyreadline

works fine, as it was suggested in an older post

Ipython 6+ now has jedi integration built in.

update Ipython, and install jedi:

pip install ipython --upgrade
pip install jedi

If you are using Anaconda / conda:

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

just below the Python logo there is a button saying

not trusted

click on it and set it as trusted notebook.

A possible reason a user may believe that autocomplete is not working may be that autocomplete is just taking too long. Circa 2020-11-27 this is particularly true for Pandas when operating with jedi in a Jupiter notebook environment.

The issue can be solved by using the following magic which deactivates jedi

%config Completer.use_jedi = False

For a deeper discussion follow the this thread and the links therein.

the current Ipython with the Jupyter notebook doesn't require jedi.. So you have to just uninstall it with the following command.

pip uninstall jedi --yes

Seems like installing a specific version of jedi worked for me:

!pip install --upgrade jedi==0.17.2

I use JupyterLab 3.0.6. I have ipython 7.19.0 and jedi 0.18 installed. As @DaveHalter indicated, better than <% config Completer.use_jedi = False> is to use the previous version of the jedi <pip install jedi == 0.17.2>. In 2021-01-31 it worked perfectly for me.

If you are using jedi=0.18 with ipython=7.19 try this in your environment:

pip install -U ipython==7.20

see this github discussion.

If you tried to install tabnine with the juptyerlab extension manager, type in

pip uninstall jupyterlab_tabnine

in a shell. When you still get the problem, delete the folder

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

this worked for me

install jupyter contrib nbextensions by running

pip install jupyter_contrib_nbextensions

Next install js and css file for jupyter by running

jupyter contrib nbextension install --user

and at the end run,

jupyter nbextension enable hinterland/hinterland

The output of last command will be

Enabling notebook extension hinterland/hinterland...
- Validating: OK

I refer from this: How to get autocomplete in jupyter notebook without using tab?