2012-06-17 86 views
8

兩天前我更換爲Emacs 23,後者給了我很多頭痛,特別是,因爲我安裝了兩個Python版本,較老的2.7和3.因爲我通常想啓動python 3解釋器,如果我能以某種方式告訴Emacs使用python 3而不是2.7,那將會很好。python 3 in emacs

此外,我找不到有助於突出顯示python3語法的模塊。我目前使用python-mode.el來突出顯示。

此外,如果有人有一個好的提示,哪個模塊最好顯示pydoc,我會非常感激。

在此先感謝!

回答

11

如果您使用python-mode.el,您可以指定二進制作爲一個子進程,通過設置變量py-python-command來執行,即:

(setq py-python-command "python3") 

當然,你需要提供的名稱二進制,因爲它存在於您的系統中,而不是"python3",如果它不同。在python.el中,要設置的類似變量是python-python-command

至於使用pydoc,有幾種可能性。首先,你可以簡單地在Python低級進程中執行help()。如果你選擇了這個選項,你可能會發現它很有用下面的代碼添加到您的.emacs文件:

(setenv "PAGER" "cat") 

這是必要的,因爲交互式尋呼機(例如,lessmoremost,等)不在劣質程序緩衝區內工作得特別好。其次,您可以安裝包含文檔的Texinfo軟件包,並使用Emacs的info瀏覽器(q.v.,Python Programming in Emacs)。最後,如果您選擇使用python.el,它將包含一個名爲python-describe-symbol的交互功能,可以根據需要查找pydoc幫助(我懷疑python-mode.el應該有類似的內容)。如果你搜索一下,我相信你可以找到其他方法和/或第三方包。

+0

感謝您的回答!但是,如果我在.emacs中放置(setq py-python-command「/ usr/bin/python3」),我似乎無法完成這項工作。我仔細檢查了Python的路徑,這似乎是正確的。我也用python-python-command試過,python-mode.el只是不起作用,但是再次沒有結果。有任何想法嗎? – YumTum

+1

如果'python3'二進制文件位於系統'$ PATH'中,則不需要指定完整的顯式目錄路徑。嘗試把'python-mode-hook'放在'.emacs'文件中,即:' )))'。 –

+0

目前,我正在使用'python.el',所以有可能會忘記w/r/t到'python-mode.el'。您可能還需要以類似的方式設置'py-which-shell'變量,但我不記得在使用'python-mode.el'時不得不這樣做。 –

0

注中的python-mode.el知道一個層次如何檢測所需要的版本

一個家當先PY-殼名 的設置,而PY-執行 - 事物 - PYTHONVERSION

也會先家當該命令是

參閱菜單PyExec

0

啓動蟒蛇口譯

的Mx蟒蛇RET

(默認解釋)

的Mx pythonVERSION

其中VERSION是指任何安裝的版本

1

我做了如下的事情後,我得到的行爲:在編輯一個Python時文件在emacs中,Cc Cp使用Python3解釋器創建一個新的緩衝區。

添加到您的.emacs文件如下:

(defcustom python-shell-interpreter "python3" 
    "Default Python interpreter for shell." 
    :type 'string 
    :group 'python) 

我嘗試這樣做的原因,是因爲我發現

(defcustom python-shell-interpreter "python" 
    "Default Python interpreter for shell." 
    :type 'string 
    :group 'python) 
在python.el

。我假設(i)「python」可以替換爲「python3」,並且(ii)這將覆蓋python.el中的定義。

這很可能是有原因,爲什麼這不雅或嚴重或其他不好。我是一個emacs新手。