兩天前我更換爲Emacs 23,後者給了我很多頭痛,特別是,因爲我安裝了兩個Python版本,較老的2.7和3.因爲我通常想啓動python 3解釋器,如果我能以某種方式告訴Emacs使用python 3而不是2.7,那將會很好。python 3 in emacs
此外,我找不到有助於突出顯示python3語法的模塊。我目前使用python-mode.el來突出顯示。
此外,如果有人有一個好的提示,哪個模塊最好顯示pydoc,我會非常感激。
在此先感謝!
兩天前我更換爲Emacs 23,後者給了我很多頭痛,特別是,因爲我安裝了兩個Python版本,較老的2.7和3.因爲我通常想啓動python 3解釋器,如果我能以某種方式告訴Emacs使用python 3而不是2.7,那將會很好。python 3 in emacs
此外,我找不到有助於突出顯示python3語法的模塊。我目前使用python-mode.el來突出顯示。
此外,如果有人有一個好的提示,哪個模塊最好顯示pydoc,我會非常感激。
在此先感謝!
如果您使用python-mode.el
,您可以指定二進制作爲一個子進程,通過設置變量py-python-command
來執行,即:
(setq py-python-command "python3")
當然,你需要提供的名稱二進制,因爲它存在於您的系統中,而不是"python3"
,如果它不同。在python.el
中,要設置的類似變量是python-python-command
。
至於使用pydoc
,有幾種可能性。首先,你可以簡單地在Python低級進程中執行help()
。如果你選擇了這個選項,你可能會發現它很有用下面的代碼添加到您的.emacs
文件:
(setenv "PAGER" "cat")
這是必要的,因爲交互式尋呼機(例如,less
,more
,most
,等)不在劣質程序緩衝區內工作得特別好。其次,您可以安裝包含文檔的Texinfo軟件包,並使用Emacs的info
瀏覽器(q.v.,Python Programming in Emacs)。最後,如果您選擇使用python.el
,它將包含一個名爲python-describe-symbol
的交互功能,可以根據需要查找pydoc
幫助(我懷疑python-mode.el
應該有類似的內容)。如果你搜索一下,我相信你可以找到其他方法和/或第三方包。
注中的python-mode.el知道一個層次如何檢測所需要的版本
一個家當先PY-殼名 的設置,而PY-執行 - 事物 - PYTHONVERSION
也會先家當該命令是
參閱菜單PyExec
啓動蟒蛇口譯
的Mx蟒蛇RET
(默認解釋)
的Mx pythonVERSION
其中VERSION是指任何安裝的版本
我做了如下的事情後,我得到的行爲:在編輯一個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新手。
感謝您的回答!但是,如果我在.emacs中放置(setq py-python-command「/ usr/bin/python3」),我似乎無法完成這項工作。我仔細檢查了Python的路徑,這似乎是正確的。我也用python-python-command試過,python-mode.el只是不起作用,但是再次沒有結果。有任何想法嗎? – YumTum
如果'python3'二進制文件位於系統'$ PATH'中,則不需要指定完整的顯式目錄路徑。嘗試把'python-mode-hook'放在'.emacs'文件中,即:' )))'。 –
目前,我正在使用'python.el',所以有可能會忘記w/r/t到'python-mode.el'。您可能還需要以類似的方式設置'py-which-shell'變量,但我不記得在使用'python-mode.el'時不得不這樣做。 –