Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Emacs py shell中的IPython:选项卡完成不工作&windows被杀死_Shell_Emacs_Ipython_Tab Completion - Fatal编程技术网

Emacs py shell中的IPython:选项卡完成不工作&windows被杀死

Emacs py shell中的IPython:选项卡完成不工作&windows被杀死,shell,emacs,ipython,tab-completion,Shell,Emacs,Ipython,Tab Completion,我已从ipython 0.10-11.1切换到1.1.0 现在,将Emacs与新的ipython版本一起使用时,我遇到了以下两个问题: 在Emac的ipython py shell C-C中完成1个选项卡!停止为我工作。比方说,如果我试图将“pl”填入“plot”中,那么在minibuffer中得到的唯一东西就是 Can't find completion for "pl" based on line pl 网上有很多类似的报道,但是我发现没有一个补丁能帮我解决这个问题。特别是~/.emacs

我已从ipython 0.10-11.1切换到1.1.0

现在,将Emacs与新的ipython版本一起使用时,我遇到了以下两个问题:

在Emac的ipython py shell C-C中完成1个选项卡!停止为我工作。比方说,如果我试图将“pl”填入“plot”中,那么在minibuffer中得到的唯一东西就是

Can't find completion for "pl" based on line pl
网上有很多类似的报道,但是我发现没有一个补丁能帮我解决这个问题。特别是~/.emacs/init.el中的新增内容,在IPython部分中建议不要“做”任何事情

2当我在任意给定的缓冲区foo.py上启动py shell时,该缓冲区在几个Emacs子窗口中的一个子窗口中打开,然后,所有其他子窗口(与foo.py对应的子窗口和新启动的ipython py shell除外)都会关闭

这两个问题在ipython 0.10-11.1中都没有。有人有主意吗


我的Emacs版本:GNU Emacs 23.2.1。My ipython.el版本:来自的defconst ipython版本0.11https://github.com/ipython/ipython/tree/master/docs/emacs

IPython外壳的完整性只是一个标签

C-C!从一个壳的内部应该打开另一个壳,但看起来确实破碎了。没有

同时固定在后备箱里

顺便说一句,要从内部打开第二个shell,C-UMPython应该可以工作

是否相应地设置了py python命令参数? 假设绘图需要选项-pylab

故障排除:

从python-mode.el所在的目录中的Emacs-Q开始。 打开python-mode.el并对其求值

打开一个结尾为.py的-可能是空的-文件

Python模式应该打开

M-x python RET

应该出现一个常规的pythonshell

M-x伊皮顿网

IPython外壳应打开

始终从已激活的python模式调用IPython shell。 否则,python.el或其他东西可能会介于两者之间

链接显示IPython-1.1.0在工作时的选项卡完成情况:


前面的答案没有提供任何关于如何使选项卡完成与IPython-1.1.0和GNU Emacs 23.2.1一起工作的线索。事实上,从基本的Emacs开始的故障排除步骤并不会导致IPython外壳具有工作标签完成。此外,在使用IPython-1.1.0时声明选项卡完成的图像描述了Emacs 24.3.50.1,而不是我在问题中提到的Emacs 23.2.1

对我来说,解决方案是:去掉IPython-1.1.0,重新安装IPython 0.10-11.1


这就没有了最新的笔记本功能——如果Emacs是Python工作流程的核心,这也没关系

i我听了您的故障排除说明。一旦打开IPython shell并对任何不完整的单词执行制表符补全,该单词将在同一输入行上被回溯最近的调用last:替换。你知道这是什么意思吗?ii IPython-1.1.0在工作时用于制表符完成的图像与1.1.0iii之前对我来说完全一样。最后,我还将您的故障排除过程应用到了我问题的第二部分,即调用python shell会杀死Emacs中所有其他打开的窗口,并且仍然保持不变。这样合适吗?我能抑制它吗?@Mark请告诉我们,IPython流程的响应,即提供回溯。请考虑在RungPAD.NET/Python模式下打开一张票。@ Mark III的Windows行为是由Py-Syff-OnExcReUTE-P RESP的设置控制的。py-switch-buffers-on-execute-p。如果两者都为nil,shell应该在后台运行。python-mode.el也使用Emacs-23.4进行测试。到目前为止,还没有迹象表明早期版本不起作用。请考虑在失败时给出更详细的bug报告。