工欲善其事,必先利其器。Python作為高級語言,因為其簡介、靈活已經被越來越多的程序員所青睞。在嘗試了眾多IDE之后,終於找到了自己的摯愛。廢話少說,下面開始說一下如何在linux下安裝配置Emacs。當然Emacs 還支持很多種程序語言,例如:
- Ruby / Ruby on Rails
- CSS / LESS / SASS / SCSS
- HAML / Markdown / Textile / ERB
- Clojure (with Cider and nRepl)
- Javascript / Coffeescript
- Python
- PHP
- Haskell
- Elm
- Erlang
- Common Lisp (with Slime)
1. 安裝Emacs
sudo apt-get install emacs24
接下來安裝pip,很好用的Python包管理工具,用來安裝Python模塊。
sudo apt-get install python-pip #Python2 sudo apt-get install python3-pip #Python3
然后用pip安裝elpy、rope、jedi模塊
sudo pip install elpy rope jedi #Python2 sudo pip3 install elpy rope_py3k jedi #Python3
輸入emacs &,即可打開IDE,如下:

2. 配置Emacs
這里首先參考了Steve Purcell的配置方案,可以從這里(https://github.com/purcell/emacs.d)下載。主要配置文件在~/.emacs.d/init.el 中,下載文件:
git clone https://github.com/purcell/emacs.d.git ~/.emacs.d
如果報錯說./emacs.d 文件已存在,則可以先刪除此文件。下載完畢后,重啟Emacs,重啟后,所需的第三方插件會自動下載並安裝。如果遇到錯誤,重啟Emacs 或者在重啟前運行M-x package-refresh-contents 即可。
3. 進階配置—自動補齊和行號顯示
在~/.emacs.d/init.el,寫入以下內容,以初始化package.el並添加插件源:
(require 'package) (setq package-archives '(("gnu" . "http://elpa.gnu.org/packages/") ("marmalade" . "http://marmalade-repo.org/packages/") ("melpa" . "http://melpa.milkbox.net/packages/"))) (package-initialize)
重啟Emacs,使用M-x package-install [Enter] elpy [Enter]來安裝(Enter即回車鍵)。也可以使用命令M-x list-packages獲取插件列表,使用C-s找到elpy來安裝。
接着,在在init.el文件中添加如下內容:
;; Configuration of Python IDE ;; https://github.com/jorgenschaefer/elpy (require 'elpy nil t) (elpy-enable)
(setq elpy-rpc-python-command "python3") ;; python3
(elpy-use-ipython) ;; ipython
重啟Emacs。至此Python IDE就算完成了。新建一個Python文件(C-x C-f,輸入文件名),開始你的Python之旅吧,你會發現自動補全,語法錯誤檢測,語法模板顯示等功能都已經存在了。
如果你希望顯示代碼的行號,則將以下語句寫入init.el文件。
(global-linum-mode t) ;;顯示行號
3. 進階配置—IPython/Jupyter集成
接下來這個功能尤其強大:將Emacs與IPython REPL和Jupyter Notebooks集成。首先,你可以將Emacs中標准的Python REPL集成替換為IPython版本,之后如果按下C-c C-c再次運行Python代碼,使用的將是IPython REPL。
M-x elpy-use-ipython
盡管做到目前這樣已經非常有用了,但是真正的神奇之處還在Emacs與Jupyter notebook之間的集成。為了在emacs 中使用jupyter notebook,我們要首先安裝 ein(emacs ipython notebook)。首先,在~/.emacs.d/init.el,寫入以下內容,
(defvar myPackages
'(better-defaults
ein ;; add the ein package (Emacs ipython notebook)
py-autopep8))
然后安裝重啟emacs,安裝ein:
package-install [enter] ein [enter]
為了在emas中使用jupyter notebook,我們要首先在ubuntu的shell 中打開jupyter notebook 以等待連接,然后在emacs中輸入
M-x ein:notebooklist-open
選擇默認notebook的默認網絡接口8888,打開或創建相應文件夾即可。emacs簡直就是神器啊!!!
像Eclipse等IDE能有的功能,Emacs都可以實現。很多優秀的Emacs插件都可以直接通過M-x list-packages安裝,一個簡單的配置文件,就可以把Python IDE配置好!
