Linux 下配置 Python IDE——Emacs

时间:2022-09-04 13:55:44

  工欲善其事,必先利其器。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,如下:

Linux 下配置 Python IDE——Emacs

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配置好!