`ipython` tab AutoVervollständigen funktioniert nicht auf importierte Modul
Registerkarte Fertigstellung auf IPython scheint nicht zu funktionieren. Zum Beispiel,
import numpy
numpy.<tab>
fügt einfach eine tab.
import numpy
num<tab>
fügt nur ein tab. Könnten Sie bitte empfehlen einige mögliche Ursachen für dieses problem? Ich arbeite mit Windows 7 und Python 2.6.5.
- Ping die iPython devs.
- Lösung unten war für mich - hat es funktioniert für Sie? Wenn ja, kreuzen Sie die Antwort akzeptiert.
- Nichts unten für mich gearbeitet. Die neuesten pyreadline. Läuft jupyter notebook auf python 3.5.
- Falls es funktioniert und dann es aufgehört zu arbeiten, nachdem Sie gedrückt, einige zufällige Schlüssel, dann überprüfen Sie, ob der Typ der Zelle wurde versehentlich geändert von "Code", um etwas anderes, wie "Markdown" oder "Raw NBConvert".
- wenn Sie gerade installiert haben eine neue python-Modul und ipython nicht importieren "AutoVervollständigen" gehen Sie here
Du musst angemeldet sein, um einen Kommentar abzugeben.
Werden Sie sicher, dass Sie installiert haben pyreadline Bibliothek. Es ist notwendig für die Registerkarte Fertigstellung, und andere IPython-Funktionen von Windows, es kommt nicht mit der IPython-Paket und Sie müssen es separat installieren -
install gnureadline
, aber ich bin noch nicht in der Lage, Holen Sie die Registerkarte Fertigstellung, wenn ich so etwas machenumpy.<tab>
. Wissen Sie, warum das so ist?conda install ipython
) und hatte keine tab-Vervollständigung Probleme. Sie können es verwenden, gleichzeitig mit pip.Ihre ipythonrc Datei können veraltet sein.
Versuchen Sie,
-upgrade
flag wird nicht mehr unterstützt.pip
sagte mir, ich hatte pyreadline version 1.7.1 installiertUpgrade
pyreadline
es fest für mich:Den klassischen "haben Sie versucht, drehen Sie es aus und wieder' für mich gearbeitet.
Wie der jetzt auf OSX, pip installiert ipython nicht mit tab-Vervollständigung, pyreadline release.py ist kaputt .. was WFM:
YMMV.
Jemand anderes in StackOverflow gepostet diesen link: http://www.vankouteren.eu/blog/2009/06/getting-ipython-readline-and-auto-completion-to-work-on-mac-os-x/
Seine im Grunde
easy_install readline
als entdecken Sie, wo Sie die readline-ei installiert haben, und Bearbeiten Sie die ipython-bin-Skript verwenden, das readline:easy_install readline
/Library/Python/site-packages/readline-*.egg
oder in Ihrem Virtualenv Gegenstückwhich ipython
import sys
Linie.Meine virtualenved ipython-bin-Skript gearbeitet haben, wie folgt:
Ich weiß, dies ist eine wirklich alte Frage, aber keine der Antworten war für mich (Und das ist der erste Treffer, wenn man google eine Frage dieser Art).
Sollte ich erwähnen, dass dies NICHT exklusiv für windows, ich hatte das problem mit CentOS 6.5 und Python 2.7
Hier ist was ich getan habe:
Wenn Sie nicht über die -devel-Pakete, die Installation wird fehlschlagen, wenn es Zeit kommt, Sie zu verbinden und zu bauen, die Eier.. Hoffe, das hilft anderen!
Pyreadline erforderlich ist ipython. Installieren pyreadline. Dies wurde in Windows 7. Holen Sie sich pyreadline zip, pyreadline-master.zip, entpacken. In powershell ändern Sie das Verzeichnis in uzipped pyreadline, stellen Sie sicher, dass python in den Pfad, und geben Sie den Befehl
python setup.py install
Dies wird intall pyreadline in C:\Python27\Lib\site-packagesIch hatte das problem auch und wusste, dass ich hatte die pip installiert für das Modul, das ich gesucht hatte. Durchführung
$ ipython --init
das problem bei mir gelöst.Musste ich
mv ~/.ipython{,.bak}
in meinem Fall.Wenn Sie Jupyter notebook und die Sie noch bekommen haben, Registerkarte " auto-complete arbeiten, nachdem Sie versucht, alle Schritte vorgeschlagen, die hier posten, möchten Sie vielleicht zu prüfen, wenn Sie versuchen, verwenden Sie die Tab-auto-Vervollständigung innerhalb einer Funktionsdefinition. Ifihr import-Anweisungen sind Teil der Funktion, wie unten, werden Sie nicht bekommen, die Tab-auto-Vervollständigung. Sie müssen die import-Anweisungen außerhalb der Funktion und auch ausführen, Sie einmal vor der Frage für die auto-Vervollständigung über die Pakete.