使用Emacs和Python时,我可以阻止REPL锁定吗?

时间:2013-11-21 17:55:33

标签: python emacs

如果我在EMACS下使用python解释器,那么我有各种方法来评估代码,例如只需在REPL中键入它( Inferior Python )如果代码也产生了输出很多,然后EMACS冻结固体,必须被杀死。

例如,这样就可以了。

[[[False] * 200 for i in range(3)] for j in range(200)]

如果python在终端中运行,那就没问题了。它打印出False 120000次并给我提示回来。

有没有办法限制劣质python进程产生的输出量,或者让EMACS在面对大输出时不会爆炸?

例如,在clojure中,我可以使用* print-length *和* print-level *来解决这个完全相同的问题。

1 个答案:

答案 0 :(得分:0)

通过comint模式重复计算被认为是原因。

对于在解决方案WRT中检查的python-mode.el https://bugs.launchpad.net/python-mode/+bug/1253907 这使得它在源缓冲区中的打印内部工作,而不是从shell中工作。

它带有几个以“py-fast-”为前缀的新命令。 或者,新选项py-fast-process-p必须为“t”。

也许试一试:

https://launchpad.net/python-mode

然而,使用python-mode.el和 M-x IPython RET ,它不会发生,运行速度几乎与控制台一样快。

不应该需要BTW ipython.el。

相关问题