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

标签 python emacs

如果我在 EMACS 下使用 python 解释器,那么我有多种评估代码的方法,例如只需在 REPL 中输入它(劣质 Python)如果该代码也产生很多输出,然后 EMACS 卡住固体,必须被杀死。

例如,这会做到这一点。

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

如果 python 在终端中运行,则完全没有问题。它只是打印出 False 120000 次,然后返回提示。

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

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

最佳答案

comint-mode 的重复计算被认为是原因。

关于python-mode.el 查了一个WRT的解决方案 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 时,它不会发生,运行速度几乎与在控制​​台中一样快。

顺便说一句,不需要 ipython.el。

关于python - 我可以在使用 Emacs 和 Python 时阻止 REPL 锁定吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20128425/

相关文章:

emacs - 组织模式中的 FlySpell 识别 latex 语法,如 auctex

emacs - 尝试 sudo 访问远程文件时 Emacs TRAMP 出现问题

python - 带有屏蔽数据的 Scipy 插值?

python - 在 View form_valid 函数中访问 ModelForm 中保存的数据

python - 如何将 Google-Cloud-Vision OCR protobuf 响应保存/加载到磁盘?

python - 使用 GET 和 INCR 对 Redis 进行乐观锁定

emacs - 让Emacs停止询问 “Active processes exist; kill them and exit anyway”

python - Ansible Playbooks 中 IP 范围的正则表达式匹配以进行分组

emacs - Emacs Lisp 中 setq 和 setq-default 的区别

Emacs shell-模式 : Prevent RET sending input from anywhere