2010-04-08 11 views
65

Wydaje się, że zakończenie zakładki IPython nie działa. Na przykład:Uruchamianie tabulatora IPython nie działa

import numpy 
numpy.<tab> 

po prostu dodaje zakładkę.

również dodaje kartę. Czy mógłbyś zasugerować kilka możliwych przyczyn tego problemu? Używam Windows 7 i Python 2.6.5.

+1

Ping programistów iPythona. –

+1

Rozwiązanie dla mnie zadziałało - czy to zadziałało? Jeśli tak, powinieneś oznaczyć odpowiedź jako zaakceptowaną. – bacar

+0

Nic dla mnie nie działało. Mieć najnowszą linię wtopienia. Uruchomienie notatnika jupyter na pythonie 3.5. –

Odpowiedz

84

Sprawdź, czy masz zainstalowaną bibliotekę pyreadline. Jest to niezbędne dla realizacji zakładki i inne funkcje ipython - w Windows nie pochodzi z pakietu ipython i trzeba go instalować oddzielnie -

> pip install pyreadline 
+0

easy_install pyreadline rozwiązał, dzięki. –

+7

instalacja pip pyredline też to robi. –

+1

@joaquin Próbowałem zainstalować to dla mac za pomocą 'install gnureadline', ale nadal nie jestem w stanie uzyskać zakończenia tabulacji, gdy robię coś takiego jak' numpy. '. Czy wiesz, dlaczego tak jest? – AlanH

10

Plik ipythonrc mogą być nieaktualne. Spróbuj uruchomić

ipython -upgrade 
+3

Flaga '-upgrade' nie jest już obsługiwana. – jsmedmar

1

W tej chwili, na OSX, pip zainstalowany ipython nie daje ukończenie kartę, pyreadline release.py jest złapany .. co WFM:

easy_install ipython readline 

YMMV.

1

Ktoś w StackOverflow pisał ten link: http://www.vankouteren.eu/blog/2009/06/getting-ipython-readline-and-auto-completion-to-work-on-mac-os-x/

Jego basicly easy_install readline niż odkryć, gdzie został zainstalowany jajko readline i edytować skrypt bin ipython aby skorzystać z tej readline:

  1. zainstalować "oficjalny" readline: easy_install readline
  2. Odkryj, gdzie to jest. Spójrz na /Library/Python/site-packages/readline-*.egg lub w virtualenv odpowiednik
  3. odkryć, gdzie jest bin ipython: which ipython
  4. Dodaj jedna linia do tego pliku, dodając ścieżkę readline jajko tuż po import sys linii.

Moja virtualenved skrypt bin ipython ale 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')() 
    ) 
6

pip powiedziano mi, że wersja 1.7.1 pyreadline zainstalowany

C:\Users\me>pip freeze | grep readline 
pyreadline==1.7.1 

Aktualizacja pyreadline ustalone to dla mnie:

C:\Users\me>pip install --upgrade pyreadline 

C:\Users\me>pip freeze | grep readline 
pyreadline==2.0 
0

Pyreadline jest wymagany przez ipython. Zainstaluj wtyczkę. Dokonano tego w systemie Windows 7. Pobierz plik ZIP zip, pyreadline-master.zip, rozpakuj. W programie Powerhell zmień katalog na uzppedowany wątek, upewnij się, że python jest ustawiony w ścieżce i wprowadź komendę python setup.py install To będzie wtopić linię w C: \ Python27 \ Lib \ site-packages

1

Zdaję sobie sprawę, że jest to naprawdę stare pytanie, ale żadne Odpowiedzi powyżej sprawdziły się dla mnie (I to jest pierwsze trafienie, które dostajesz, gdy szukasz w Google pytania o takim charakterze).

należy wspomnieć, że to nie jest wyłączna okien, miałem problem z uruchomieniem CentOS 6.5, 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 - pakiety devel, instalacja nie powiedzie się, gdy przychodzi czas, aby je połączyć i zbudować jaja .. Mam nadzieję, że to pomaga innym!

2

Klasyk "próbowałeś go wyłączyć i ponownie" pracował dla mnie.

pip uninstall ipython 
pip install ipython 
0

Miałem ten problem i wiedziałem, że mam zainstalowany pip dla modułu, którego szukałem. Wykonywanie $ ipython --init rozwiązało problem dla mnie.

0

Musiałem mv ~/.ipython{,.bak} w moim przypadku.

0

Jeśli używasz notatnika Jupyter i nadal korzystasz z funkcji automatycznego uzupełniania Tab po wykonaniu wszystkich kroków sugerowanych w tym wpisie, możesz sprawdzić, czy próbujesz użyć automatycznego uzupełniania Tab w ramach funkcji definicja. Jeśli twoje instrukcje importu są częścią funkcji takiej jak poniżej, nie uzyskasz automatycznego uzupełniania Tab. Musisz umieścić instrukcje importu 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 
Powiązane problemy