在中,如果变量设置为 ,python.el
则在新缓冲区中启动新的劣质进程。因此,可以建议函数在每次调用后将该变量重置为,从而强制为每个后续命令执行一个新的 Python 进程。像下面这样的东西应该可以工作:python-buffer
nil
python-send-buffer
nil
python-send-buffer
(defadvice
python-send-buffer
(after python-send-buffer-new-proc activate)
(setq python-buffer nil))
(ad-activate python-send-buffer)
我知道您的帖子是在寻求帮助python-mode.el
,但我认为无论如何提及这一点可能会有所帮助,因为如果python-mode.el
不使用类似的机制,我会感到惊讶。如果我有时间,我会试着研究一下。
编辑:python-mode.el
包使用命令py-shell
启动一个新的劣质 Python 进程。我发现了一个邮件列表帖子,其中用户提供了一个临时功能,似乎可以满足您的需求。
顺便说一句,可能值得考虑的是,尝试更改 的默认行为python-mode
并不是解决此问题的最佳方法。我不知道您的代码是做什么的,而且我对 Twisted 也不是特别熟悉,但在我看来,在同一会话中第二次评估您的代码时遇到重大错误可能表明存在更基本的设计问题. 我看不出这可能是多个imports
相同模块的问题,因为 Python 模块只加载一次,连续的import
语句没有效果(为此,需要显式的reload
or execfile()
)。如果我在这里完全脱离基地,我道歉,但我觉得这种可能性可能值得一提。