IPython键盘中断CTRL + C不一致

12 投票
1 回答
4426 浏览
提问于 2025-04-18 16:49

我在使用交互式 Python(在 xterm 里运行)时,按下键盘的 Ctrl+C 有时会得到不一致的反应,尤其是在用 matplotlib 绘图之后。

正常情况下,当我在 ipython2 中按 Ctrl+C 时,会看到 KeyboardInterrupt 的提示。

但是,一旦我用 matplotlib(特别是 matplotlib.pyplot)绘制了图形,按 Ctrl+C 就会直接退出交互式 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 时,能始终只中断正在运行的脚本(如果有的话),而不是直接退出交互式 Python 会话。

1 个回答

8

我之前也遇到过同样的问题,持续了很长一段时间。你可以试着用qt来运行ipython:

ipython --matplotlib=qt

撰写回答