Прерывание клавиатуры IPython CTRL + C несовместимо

Я получаю противоречивые ответы от прерывания клавиатуры Ctrl + C в интерактивном python (запускается в xterm) после построения графика из matplotlib.

Как и ожидалось, при выполнении Ctrl + C внутри ipython2 я получаю сообщение KeyboardInterrupt.

Однако, как только я рисую что-либо, используя matplotlib (в частности matplotlib.pyplot) Ctrl + C, выйдет из интерактивного сеанса python, в отличие от выхода из работающего script в интерактивном сеансе python (если есть один).

Примитивный пример.

import numpy as n
import matplotlib.pyplot as m
x = n.linspace(0,4*n.pi,500)
y = x**2*n.sin(x)

m.plot(x,y)
m.show()

Предпочтительное поведение было бы для Ctrl + C, чтобы всегда прерывать только запущенный script (если он выполняется), вместо самого интерактивного сеанса python.

Ответ 1

У меня была такая же проблема в течение длительного времени. Попробуйте запустить ipython с помощью qt:

ipython --matplotlib=qt