1

我已经从 ipython 0.10-11.1 切换到 1.1.0

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

1) Emac 的 ipython py-shell ( C-c !) 中的制表符完成停止为我工作。说,如果我尝试将 'pl' 完成为 'plot' 等等pl<Tab>,我在 minibuffer 中得到的唯一东西是

Can't find completion for "pl" based on line pl

网上有很多类似的报告,但是我发现的修复都没有解决我的问题。特别是对~/.emacs/init.el建议的补充http://www.emacswiki.org/emacs/PythonProgrammingInEmacs,在 IPython 部分只是不“做”任何事情。

2)当我在任何给定的缓冲区 foo.py 上启动 py-shell 时,该缓冲区在几个 Emacs 子窗口之一中打开,然后是所有其他子窗口,除了对应于 foo.py 和新启动的子窗口(ipython) py-shell 关闭。

这两个问题在 ipython 0.10-11.1 中都不存在。有人有想法吗?

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

4

2 回答 2

0

前面的答案没有提供任何关于如何让TAB-completion 与 IPython-1.1.0 和 GNU Emacs 23.2.1 一起工作的线索。事实上,从简单的 Emacs 开始的故障排除步骤不会导致具有工作完成的 IPython-shell TAB。此外,https: //launchpadlibrarian.net/152211804/ex.png 上声称TAB-completion at work with IPython-1.1.0 的图像描绘了 Emacs 24.3.50.1,而不是我在问题中提到的 Emacs 23.2.1 .

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

(这让您没有最新的笔记本功能 - 如果 Emacs 是您 Python 工作流程的核心,这很好)

于 2013-10-03T12:51:46.397 回答
0

从 (I)Python-shell 完成只是TAB

C-c !从外壳内部应该打开另一个外壳,但似乎确实坏了,分别。它不可用。

https://bugs.launchpad.net/python-mode/+bug/1234539 同时在主干中修复。

顺便说一句,从内部打开第二个外壳,C-u M-x python应该可以工作。

你有py-python-command-args相应设置吗?假设plot需要选项-pylab

故障排除:

从 python-mode.el 所在目录中的 Emacs -Q 开始。打开 python-mode.el 并评估它。

打开一个--也许是空的-- 以“.py”结尾的文件。

应该打开 Python 模式。

MX python RET

应该出现一个常规的 Python-shell。

MX ipython RET

应该打开一个 IPython-shell。

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

链接显示使用 IPython-1.1.0 的 TAB 完成:

https://launchpadlibrarian.net/152211804/ex.png

于 2013-10-03T06:48:31.207 回答