web-dev-qa-db-fra.com

L'achèvement TAB ne fonctionne pas dans Jupyter Notebook mais très bien dans le terminal iPython

L'achèvement de TAB fonctionne correctement dans le terminal iPython, mais pas dans le navigateur Firefox.

Jusqu'à présent, j'avais essayé mais échoué,

1). exécutez une commande $ Sudo easy_install readline,

puis le fichier .Egg a été écrit en /usr/local/lib/python2.7/dist-packages/readline-6.2.4.1-py2.7-linux-x86_64.Egg,

mais l'achèvement de TAB ne fonctionne toujours pas dans Jupyter Notebook.

2). a également essayé de localiser le ipython_notebook_config.py or ipython_config.py, mais a échoué.

J'utilise Python 3.5 et iPython 4.0.0. Et les deux sont installés dans Ubuntu 15.10 /usr/share/anaconda3/bin/ipython.

Toute aide serait appréciée!

25
F.wo.huang

Mon problème était que j'essaie d'appeler la saisie semi-automatique et d'importer dans la même cellule. Parce que la chose importée n'est pas encore initialisée, la saisie semi-automatique ne fonctionne pas.

Tout ce dont j'ai besoin est d'appeler l'objet dans une nouvelle cellule enter image description here

UPD: ou exécutez simplement le programme une fois dans la même cellule pour initialiser l'importation

30
shurik2533

Dans mon cas, après avoir exécuté pip install pyreadline, J'avais besoin de réexécuter toutes les lignes de Jupyter avant la fin de l'achèvement. Je me demandais pourquoi cela fonctionnait pour IPython mais pas pour Jupyter.

3
M.abr

Dans mon cas, j'ai installé miniconda sur Debian Linux et j'ai probablement eu un problème avec le précédent Python qui était inclus avec Debian. Les lignes suivantes ont résolu mon problème:

conda update conda
conda update --all

La solution a été prise de ici basée sur l'erreur que j'ai eue dans IPython dans le terminal après avoir écrit np.<tab>:

No such file or directory: '/home/user/miniconda3/lib/python' 
3
keiv.fly

La solution de contournement que j'ai trouvée consiste à attribuer le résultat intermédiaire à une variable temporaire, puis dans une cellule distincte, en utilisant l'onglet sur la variable temporaire pour l'auto-complétion.

temp = pd.Description

temp. [~ # ~] onglet [~ # ~]

enter image description here

1
Ashish Anand

vous pouvez ajouter

% config IPCompleter.greedy = True

dans la première boîte de votre carnet Jupyter.

1
ruedi