2009-03-22 12 views
12

Jeśli uruchomiłem długą linię w IPythonie i spróbuję ją przywołać (za pomocą strzałki w górę) lub w backspace za początkiem bieżącego wiersza, to zostanie ona wyświetlona niepoprawnie (wszystkie zostaną zmiażdżone w jeden linia)Problemy z zawijaniem wierszy z powłoką IPython

na przykład w poniższej sesji napisałem długą linię [1] wszedł nieco-pustą linię [2], następnie w górę strzałką dwukrotnie, aby uzyskać oświadczenie print na linii [3], oraz dodaje się:

Line wrap issue

Happ w obu iTerm i Terminal.app .. Miałem podobny problem z regularnymi sesjami terminalowymi, które zostały naprawione przez poprawnie kończące kody kolorów, ale nie jestem pewien jak to naprawić z IPythonem

+0

Ten problem straszy mnie baaardzo długo .... nie zrealizowane do tej pory, że ipython spowodowane tym. Próbowałem "zresetować", "tput", "shopt -s checkwinsize", zresetować PS1, tmux resize-pane, uciec magiczne znaki, ale wszystko na próżno. Teraz wiem, że występuje tylko wtedy, gdy IPython został wywołany z TMux, a IPython został zabity lub wysłany do tła (CTRL + Z). – Andor

Odpowiedz

11

Aha! Miałem starą wersję modułu readline Pythona - instalując najnowszą wersję z http://ipython.scipy.org/dist/ i działa idealnie!

sudo easy_install http://ipython.scipy.org/dist/readline-2.5.1-py2.5-macosx-10.5-i386.egg 
+0

Upewnij się, że używasz easy_install, a nie pip. Próbowałem "pip install readline" i podczas instalacji readline nadal miałem problem z ipythonem. Odinstalowałem, a następnie użyłem easy_install i problem został rozwiązany. – Brian

+1

Po prostu wypróbowałem, '' pip install readline'' teraz działa dobrze i rozwiązało problem dla mnie .. – redShadow

+0

W mojej instalacji Linux Mint 'pip install readline' wymagało ode mnie zainstalowania libncurses z' apt-get install libncurses5-dev' . – LondonRob

1

Nie mogę się rozmnażać IT (strzałka w górę umożliwia dostęp na długich kolejkach w ipython):

ipython up-arrow long line

+0

:/To naprawdę denerwujące, próbowałem wyłączyć wszelkie dostosowanie profilu, używając najnowszej stabilnej wersji (ipython 0.9.1), dwóch różnych maszyn, używając różnych profili terminali .. Jakie emulatory terminala/powłoki/python/ipython wersji itp. używasz? – dbr

+0

Nie przejmuj się powyższym komentarzem! – dbr

2

Masz problem z systemem Snow Leopard. Instalacja nowej wersji readline z http://pypi.python.org/pypi/readline/ rozwiązuje go:

sudo easy_install http://pypi.python.org/packages/2.6/r/readline/readline-2.6.4-py2.6-macosx-10.6-universal.egg 
+0

Mój zapas Snow Leopard ma python2.6.1 i wersja 2.6.4 nie działa. Także tutaj jest link do użycia alternatywnego lustra, ponieważ główne pypi jest ostatnio wolne. sudo easy_install http://d.pypi.python.org/packages/2.6/r/readline/readline-2.6.1-py2.6-macosx-10.6-universal.egg –

+0

Dobre punkty. Powinienem dodać, że używam wersji pythona MacPorts - działającej "python_select -s" zwraca "python26" zamiast "python26-apple", która pojawia się w "python_select -l". – aam

Powiązane problemy