python2.7 von macports stdin ausgabe

715
SiLiKhon

Mein python2.7 von macports scheint auf eine seltsame Art und Weise mit osx terminal durcheinander zu bringen. Hier ist was ich meine.

Die genaue Eingabe über die Tastatur war:

/opt/local/bin/python2.7<ENTER> a = 3<ENTER> a<ENTER> <CTRL+D> /opt/local/bin/python2.7<ENTER> a = 3<ENTER> a<ENTER> <CTRL+D><ENTER> exit()<ENTER> <ENTER> ls 

Und das habe ich im Terminalfenster gesehen:

Artems-MacBook-Pro-2 /Users/artem $ /opt/local/bin/python2.7 Python 2.7.10 (default, Aug 31 2015, 01:42:42)  [GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> a = 3 >>> a >>> 3 a >>> 3 ^D>>>  Artems-MacBook-Pro-2 /Users/artem $ Python 2.7.10 (default, Aug 31 2015, 01:42:42)  [GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> a = 3 >>> a >>> 3 a >>> 3 ^D >>> exit() >>> Artems-MacBook-Pro-2 /Users/artem $  Artems-MacBook-Pro-2 /Users/artem $ ls 

Wie Sie sehen, passiert das erste seltsame Ding, wenn ich versuche, den Wert von 'a' zum ersten Mal zu drucken, dh ich bekomme

>>> a >>> 3 <cursor here> 

anstatt

>>> a 3 >>> <cursor here> 

Nach dem ersten Beenden von Python wird dann keine Eingabe im Terminal angezeigt, dh ich erhalte:

Artems-MacBook-Pro-2 /Users/artem $ Python 2.7.10 (default, Aug 31 2015, 01:42:42) 

anstatt

Artems-MacBook-Pro-2 /Users/artem $ /opt/local/bin/python2.7 Python 2.7.10 (default, Aug 31 2015, 01:42:42) 

Die zweite Python-Sitzung verhält sich weiterhin komisch + die Tastenkombination STRG + D funktioniert nicht mehr. Nach dem Verlassen dieser zweiten Sitzung ist die Eingabe im Terminal wieder einwandfrei.

Hat jemand eine Ahnung, warum dies geschieht und wie man es beheben kann?

PS Der Standard-Python von OSX hat dieses Problem nicht, aber ich möchte, dass die Macports-Version funktioniert

2

4 Antworten auf die Frage

1
Matt Zucker

Hatte die gleichen Probleme - wirklich nervig! Nachdem ich http://bugs.python.org/issue24961 gelesen hatte, beschloss ich, es zu versuchen

sudo port install py27-readline 

... und das Problem wurde zumindest auf meiner Maschine behoben. Wahrscheinlich sollte jemand ein Ticket bei MacPorts einreichen ...

Ein Ticket wurde vor einiger Zeit abgelegt. Ein Update sollte bald folgen. fd0 vor 9 Jahren 0
Interessant! Hast du die URL zufällig? Matt Zucker vor 9 Jahren 0
Ja, https://trac.macports.org/attachment/ticket/48807/readline.patch fd0 vor 9 Jahren 0
Ich schätze es, danke. Matt Zucker vor 9 Jahren 0
Vielen Dank! Ich habe genau das gleiche erlebt und die Installation von py27-readline hat das Problem behoben. Bogatyr vor 9 Jahren 0
0
marcelk

Ich hatte das gleiche Problem nach der Installation matplotlibam 29. August dieses Jahres. Es hat mich verrückt gemacht, also habe ich es deinstalliert:

sudo port uninstall --follow-dependents python27 @2.7.10_3+universal 

Ich denke, diese spezielle macportsVersion von Python ist einfach kaputt.

0
fd0

Ich habe herausgefunden, dass das Problem auf ncurses zurückzuführen ist. Ich habe noch keine Lösung. Ich habe eine Software, die mit ncurses @ 5.9_2 und ncurses @ 6.0_0 kompiliert wurde.

0
Kurt

Ich habe es behoben, indem ich auf meinem System zu einem anderen Python gewechselt habe:

$ sudo port select python python27-apple