выпуск python2.7 из macports stdin

612
SiLiKhon

Мой python2.7 из macports, кажется, странным образом портит osx терминал. Вот что я имею в виду.

Точный ввод с клавиатуры был:

/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 

И вот что я увидел в окне терминала:

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 

Как вы можете видеть, первая странная вещь случается, когда я пытаюсь напечатать значение 'a' в первый раз, то есть я получаю

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

вместо

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

Затем, после выхода из Python в первый раз, в терминале не отображается никаких данных, т.е. я получаю:

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

вместо

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

Второй сеанс Python продолжает вести себя странно + комбинация клавиш CTRL + D перестает работать. После выхода из этого второго сеанса вход снова хорошо виден в терминале.

У кого-нибудь есть подсказка, почему это происходит и как это исправить?

PS По умолчанию Python от OSX не имеет этой проблемы, но я действительно хочу, чтобы версия Macports работала

2

4 ответа на вопрос

1
Matt Zucker

Были такие же проблемы - действительно раздражает! Прочитав http://bugs.python.org/issue24961, решил попробовать запустить

sudo port install py27-readline 

... и это решило проблему, по крайней мере, на моей машине. Возможно, кто-то должен подать заявку в MacPorts ...

Билет был подан некоторое время назад. Исправление должно быть скоро. fd0 9 лет назад 0
Интересно! У вас есть URL случайно? Matt Zucker 9 лет назад 0
Да, https://trac.macports.org/attachment/ticket/48807/readline.patch fd0 9 лет назад 0
Ценю это, спасибо. Matt Zucker 9 лет назад 0
Спасибо! Я испытал в точности то же самое, и установка py27-readline исправила это. Bogatyr 9 лет назад 0
0
marcelk

I had the same issue after installing matplotlib on Aug 29 this year. It drove me crazy, so I uninstalled it:

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

I think this specific macports version of Python is just broken.

0
fd0

I have identified that problem stems from ncurses. I don't have a fix, yet. I have software compiled with ncurses @5.9_2 and ncurses @6.0_0 which is raging havoc at the moment.

0
Kurt

I fixed it by switching to a different python on my system:

$ sudo port select python python27-apple