2013-10-02 59 views
1

我從IPython中0.10-11.1切換到1.1.0IPython的在Emacs PY-殼:TAB未完成工作和Windows被殺

現在,使用Emacs的新版本的IPython一起我碰到以下兩個問題:

1) Tab補在EMAC的IPython的PY-殼(C-c !)停止爲我工作。再說了,如果我嘗試完成「復」到「情節」等pl<Tab>,我在小緩衝區唯一得到的是

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

有在網絡上關於這個很多類似的報道,但沒有修復我發現爲我解決了這個問題。特別是在http://www.emacswiki.org/emacs/PythonProgrammingInEmacs建議的~/.emacs/init.el的增加部分,IPython只是不'做'任何事情。

2)當我開始上的任何給定的緩衝器foo.py,這是幾個Emacs的子窗口中的一個,然後,所有其它子窗口,除了對應於foo.py改爲所述一個和內開放的PY-殼新開始的(ipython)py-shell會關閉。

這兩個問題都沒有在ipython 0.10-11.1中出現。任何人有想法?

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

回答

0

從(I)Python shell中完成只是TAB

Cc!從殼內應該打開另一個殼,但看起來確實是破碎的,它不可用。

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模式應該打開。

M-X蟒蛇RET

一個常規的Python殼應該會出現。

M-x ipython RET

IPython-shell應該打開。

始終調用(I)python模式下的Python-shell已激活。 否則運送python.el或其他東西可能會介於兩者之間。

鏈接顯示在工作TAB完成與IPython的-1.1.0:

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

+0

(我)我跟着您的故障排除的言論。一旦我打開IPython-shell,並對任何不完整的單詞執行TAB完成,則通過「Traceback(最近調用最後一次):」在同一輸入行上替換此單詞。任何想法這意味着什麼? (ii)IPython-1.1.0在工作時TAB完成的圖像看起來與1.1.0之前完全相同 – Mark

+0

(iii)最後,我還將故障排除過程應用於我的問題的第二部分,即,調用Python shell會殺死Emacs中的所有其他打開的窗口 - 並且保持不變。這是正確的嗎?我能壓制嗎? – Mark

+0

@Mark請讓我們知道,IPython進程響應了什麼,即給出Traceback。請考慮在launchpad.net/python-mode上打開一張票。 –

0

以前的答案沒有提供任何線索如何獲得TAB完井與IPython的-1.1工作.0和GNU Emacs 23.2.1。事實上,從簡單的Emacs開始的故障排除步驟不會導致IPython-shell工作在TAB -completion中。此外,圖像在https://launchpadlibrarian.net/152211804/ex.png聲稱TAB - 與IPython-1.1.0一起工作的完整描述了一個Emacs 24.3.50.1,而不是我在我的問題中提到的Emacs 23.2.1。

對我來說解決方案是:擺脫IPython-1.1.0重新安裝IPython 0.10-11.1。

(這使得你沒有更近的筆記本電腦的功能 - 這是好的,如果Emacs是在你的Python工作流的核心反正)

+0

python-mode.el也使用Emacs-23.4進行測試。目前還沒有提示,早期的版本不應該起作用。請考慮給出更詳細的錯誤報告WRT失敗時的狀態。 –