Die Tab-Vervollständigung unter IPython scheint nicht zu funktionieren. Zum Beispiel,
import numpy
numpy.<tab>
fügt einfach eine Registerkarte hinzu.
import numpy
num<tab>
Fügt einfach auch einen Tab hinzu. Könnten Sie bitte einige mögliche Ursachen für dieses Problem vorschlagen? Ich verwende Windows 7 und Python 2.6.5.
python
ipython
tab-completion
djpark121
quelle
quelle
Antworten:
Stellen Sie sicher, dass Sie die Pyreadline- Bibliothek installiert haben . Es wird für die Tab-Vervollständigung und andere IPython-Funktionen benötigt - in Windows wird das IPython-Paket nicht mitgeliefert und Sie müssen es separat installieren -
quelle
install gnureadline
, aber ich bin immer noch nicht in der Lage, die Tab-Vervollständigung zu erhalten, wenn ich so etwas machenumpy.<tab>
. Weißt du warum das so ist?conda install ipython
) installiert und hatte keine Probleme mit der Tab-Vervollständigung. Sie können es gleichzeitig mit pip verwenden.Ihre ipythonrc-Datei ist möglicherweise veraltet. Versuche zu rennen
quelle
-upgrade
Flag wird nicht mehr unterstützt.pip
sagte mir, ich hätte Pyreadline Version 1.7.1 installiertC:\Users\me>pip freeze | grep readline pyreadline==1.7.1
Das Upgrade hat
pyreadline
es für mich behoben:C:\Users\me>pip install --upgrade pyreadline C:\Users\me>pip freeze | grep readline pyreadline==2.0
quelle
Der Klassiker "Haben Sie versucht, es aus- und wieder einzuschalten" hat bei mir funktioniert.
quelle
Ich hatte dieses Problem. Ich habe durch Downgrade des Python-Parso-Pakets gelöst
Herabstufung des Python-Parso-Pakets (0.8.0-1 => 0.6.2-1)
quelle
Das Herabstufen von iPython hat es geschafft.
pip install --upgrade ipython==5.8.0
quelle
Unter OSX bietet pip installiertes ipython derzeit keine Tab-Vervollständigung. Pyreadline release.py ist kaputt. Was für ein WFM:
YMMV.
quelle
Jemand anderes in StackOverflow hat diesen Link gepostet: http://www.vankouteren.eu/blog/2009/06/getting-ipython-readline-and-auto-completion-to-work-on-mac-os-x/
Es ist einfach,
easy_install readline
als herauszufinden, wo das Readline-Ei installiert wurde, und das ipython bin-Skript zu bearbeiten, um diese Readline zu verwenden:easy_install readline
/Library/Python/site-packages/readline-*.egg
oder in Ihrem Virtualenv-Gegenstück anwhich ipython
import sys
Zeile den Readline-Ei-Pfad hinzu.Mein virtualenved ipython bin script hat wie folgt funktioniert:
#!/Users/alanjds/src/git/cervejeiras/venv/cervejeiras-lfs/bin/python # EASY-INSTALL-ENTRY-SCRIPT: 'ipython==0.13.1','console_scripts','ipython' __requires__ = 'ipython==0.13.1' import sys ### ONLY LINE ADDED: sys.path.insert(0, '/Users/alanjds/src/git/cervejeiras/venv/cervejeiras-lfs/lib/python2.6/site-packages/readline-6.2.4.1-py2.6-macosx-10.6-fat.egg') #### from pkg_resources import load_entry_point if __name__ == '__main__': sys.exit( load_entry_point('ipython==0.13.1', 'console_scripts', 'ipython')() )
quelle
Mir ist klar, dass dies eine wirklich alte Frage ist, aber keine der oben genannten Antworten hat bei mir funktioniert (und dies ist der erste Treffer, den Sie erhalten, wenn Sie eine Frage dieser Art googeln).
Ich sollte erwähnen, dass dies NICHT nur für Windows gilt. Ich hatte das Problem, CentOS 6.5 und Python 2.7 auszuführen
Folgendes habe ich getan:
apt-get/yum install ncurses-devel #If you want history in iPython: apt-get/yum install sqlite-devel easy_install ipython readline ipython In [1]: from Display all 391 possibilities? (y or n)
Wenn Sie die -devel-Pakete nicht haben, schlägt Ihre Installation fehl, wenn es an der Zeit ist, sie zu verknüpfen und die Eier zu erstellen. Ich hoffe, dies hilft anderen!
quelle
Pyreadline wird von ipython benötigt. Installieren Sie pyreadline. Dies wurde in Windows 7 durchgeführt. Holen Sie sich pyreadline zip, pyreadline-master.zip , unzip. Stellen Sie im Powershell-Änderungsverzeichnis in uzipped pyreadline sicher, dass Python in Path festgelegt ist, und geben Sie den Befehl ein.
python setup.py install
Dadurch wird pyreadline in C: \ Python27 \ Lib \ site-packages installiertquelle
Ich hatte dieses Problem und wusste, dass ich den Pip für das Modul installiert hatte, das ich suchte. Durchführen
$ ipython --init
löste das Problem für mich.quelle
Ich musste
mv ~/.ipython{,.bak}
in meinem Fall.quelle
Wenn Sie das Jupyter-Notizbuch verwenden und die automatische Vervollständigung von Tabs immer noch funktioniert hat, nachdem Sie alle im Beitrag hier vorgeschlagenen Schritte ausgeführt haben, möchten Sie möglicherweise überprüfen, ob Sie versuchen, die automatische Vervollständigung von Tabs innerhalb einer Funktionsdefinition zu verwenden. Wenn Ihre Importanweisungen Teil der folgenden Funktion sind, wird die automatische Vervollständigung der Registerkarte nicht angezeigt. Sie müssen die Importanweisungen außerhalb der Funktion platzieren und sie auch einmal ausführen, bevor Sie die automatische Vervollständigung der Pakete anfordern.
def myfunction(): import pandas as pd import numpy as np a = pd.DataFrame(np.random.normal(1,3, (4,4)) return a
quelle
Ich hatte das gleiche Problem mit der Numpy-Bibliothek. Das Problem betrifft die jeweilige Version von ipython oder jupyter notebook und wird durch einfaches Aktualisieren von ipython oder jupyter behoben. Wenn Sie eine Conda-Umgebung wie Anaconda oder Miniconda verwenden, aktualisieren Sie ipython in dieser Umgebung mithilfe von
Im Falle einer Anakonda müssen Sie auch die qtconsole aktualisieren
Manchmal schränkt Anaconda das Update von Ipython ein und versucht es dann
conda update -all
Wenn Sie keine Umgebung verwenden, aktualisieren Sie diese direkt mit pip
quelle