工欲善其事,必先利其器。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配置好!