Uzupełnianie tabulatorów w IPythonie wydaje się nie działać. Na przykład,
import numpy
numpy.<tab>
po prostu dodaje kartę.
import numpy
num<tab>
po prostu dodaje też kartę. Czy mógłbyś zasugerować możliwe przyczyny tego problemu? Używam Windows 7 i Python 2.6.5.
python
ipython
tab-completion
djpark121
źródło
źródło
jedi
aktualizacja z 0.17 do 0.18 jest błędna i wyłącza uzupełnianie tabulacji w IPythonie. Zobacz odpowiedź z grudnia 2020 roku poniżej.Odpowiedzi:
Upewnij się, że zainstalowałeś bibliotekę pyreadline . Jest potrzebny do uzupełniania zakładek i innych funkcji IPython - w systemie Windows nie jest dostarczany z pakietem IPython i musisz go zainstalować osobno -
źródło
install gnureadline
, ale nadal nie mogę uzyskać zakończenia zakładki, gdy robię coś takiegonumpy.<tab>
. Czy wiesz, dlaczego tak jest?conda install ipython
) i nie miałem żadnych problemów z wypełnianiem kart. Możesz go używać jednocześnie z pip.Jeśli ktoś korzysta z najnowszych wersji,
7.19.0
a autouzupełnianie nie działa, spróbujjedi
przejść na0.17.2
:pip install jedi==0.17.2
Szczegółowe informacje można znaleźć pod adresem https://github.com/ipython/ipython/issues/12740 .
źródło
parso
Pakiet musiałby również zostać obniżony do 0,7.1.Twój plik ipythonrc może być nieaktualny. Spróbuj biegać
źródło
-upgrade
flaga nie jest już wspierane.pip
powiedział mi, że mam zainstalowaną wersję pyreadline 1.7.1C:\Users\me>pip freeze | grep readline pyreadline==1.7.1
Aktualizacja
pyreadline
naprawiła to dla mnie:C:\Users\me>pip install --upgrade pyreadline C:\Users\me>pip freeze | grep readline pyreadline==2.0
źródło
Obniżenie wersji iPythona załatwiło sprawę.
pip install --upgrade ipython==5.8.0
źródło
Klasyczne „czy próbowałeś go wyłączyć i ponownie włączyć” zadziałało dla mnie.
źródło
Miałem ten problem. Rozwiązałem przez obniżenie wersji pakietu python-parso
obniżenie wersji pakietu python-parso (0.8.0-1 => 0.6.2-1)
źródło
W tej chwili, na OSX, pip zainstalowany ipython nie daje uzupełniania tabulatorów, pyreadline release.py jest zepsuty ... co WFM:
YMMV.
źródło
Ktoś inny w StackOverflow opublikował ten link: http://www.vankouteren.eu/blog/2009/06/getting-ipython-readline-and-auto-completion-to-work-on-mac-os-x/
Jest to po prostu
easy_install readline
odkrycie, gdzie zostało zainstalowane jajko readline i zmodyfikowanie skryptu ipython bin, aby użyć tego readline:easy_install readline
/Library/Python/site-packages/readline-*.egg
lub w swoim odpowiedniku Virtualenvwhich ipython
import sys
linii.Mój wirtualny skrypt ipython bin zaczął działać następująco:
#!/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')() )
źródło
Zdaję sobie sprawę, że to naprawdę stare pytanie, ale żadna z powyższych odpowiedzi nie zadziałała dla mnie (i to jest pierwsze trafienie, które otrzymujesz, gdy wyszukujesz w Google pytanie tego rodzaju).
Powinienem wspomnieć, że NIE jest to wyłączne dla Windows, miałem problem z uruchomieniem CentOS 6.5 i Python 2.7
Oto co zrobiłem:
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)
Jeśli nie masz pakietów -devel, instalacja zakończy się niepowodzeniem, gdy nadejdzie czas na ich połączenie i zbudowanie jaj. Mam nadzieję, że to pomoże innym!
źródło
Pyreadline jest potrzebny ipythonowi. Zainstaluj pyreadline. Zrobiono to w systemie Windows 7. Pobierz pyreadline zip, pyreadline-master.zip , rozpakuj. W PowerShell zmień katalog na uzipped pyreadline, upewnij się, że Python jest ustawiony w Path i wprowadź polecenie
python setup.py install
Spowoduje to zainstalowanie pyreadline w C: \ Python27 \ Lib \ site-packagesźródło
Miałem ten problem i wiedziałem, że mam zainstalowany pip dla szukanego modułu. Wykonanie
$ ipython --init
rozwiązało problem za mnie.źródło
mv ~/.ipython{,.bak}
W moim przypadku musiałem .źródło
Jeśli korzystasz z notatnika Jupyter, a po wykonaniu wszystkich kroków sugerowanych w tym poście nadal działało automatyczne uzupełnianie kart, możesz sprawdzić, czy próbujesz użyć automatycznego uzupełniania kart w definicji funkcji. Jeśli twoje instrukcje importu są częścią funkcji takiej jak poniżej, nie otrzymasz autouzupełniania Tab. Musisz umieścić instrukcje import poza funkcją, a także wykonać je raz, zanim poprosisz o automatyczne uzupełnianie pakietów.
def myfunction(): import pandas as pd import numpy as np a = pd.DataFrame(np.random.normal(1,3, (4,4)) return a
źródło
Napotkałem ten sam problem z biblioteką numpy. Problem dotyczy konkretnej wersji notebooka ipython lub jupyter i można go rozwiązać, po prostu aktualizując ipython lub jupyter. Jeśli używasz środowiska Conda, takiego jak Anaconda lub Miniconda, zaktualizuj ipython w tym środowisku przy użyciu
W przypadku anacondy musisz również zaktualizować qtconsole
Czasami anakonda ogranicza aktualizację ipython, a następnie spróbuj
conda update -all
Jeśli nie używasz środowiska, zaktualizuj bezpośrednio za pomocą pip
źródło
To zdecydowanie powinno działać tak, jak działało w moim przypadku
conda install ipython pip install jedi==0.17.2
źródło