使用Emacs作为Python IDE

最近正打算开始学习下Python,动手实践很重要,所以IDE的选择也是很重要的。正好,Emacs也算是刚刚入门,所以希望用Emacs作为主力IDE。学习Python的同时,可以练习下Emacs,一举两得。

1 安装 Python3 和 IPython

使用 homebrew 安装 Python3

brew install python3

使用 pip3 安装 IPython

pip3 install ipython

2 Emacs的安装及基本使用

关于Emacs的使用这里就不介绍了。用好Emacs不是一朝一夕的事情,需要自己去摸索。笔者也只是学习了三个月的时间而已。有些东西自己动手实践才能体会到其中的奥妙。

3 安装相关插件

3.1 elpy

支持的功能:

  • 自动缩进
  • 语法高亮
  • 自动补全
  • 语法检查
  • REPL集成
  • 虚拟环境支持,以及更多其他功能

首先需要首先使用 pip3 安装 jedi, flake8, importmagic, autopep8

pip3 install jedi flake8 importmagic autopep8

3.2 安装elpy

M-x package-install [ret] elpy

运行脚本 C-c C-c.

3.3 使用FlyCheck进行语法检查

首先安装flycheck

M-x package-install [ret] flycheck

配置:

(when (require 'flycheck nil t)
(setq elpy-modules (delq 'elpy-module-flymake elpy-modules))
(add-hook 'elpy-mode-hook 'flycheck-mode))

3.4 IPython/Jupyter集成

init.el 中激活IPython:

(elpy-use-ipython)

3.5 配置elpy

  • 查看elpy的设置
M-x elpy-config

通过这个command可以查看elpy的设置是否正确。

  • 设置python路径
;; For elpy
(setq elpy-rpc-python-command "/usr/local/bin/python3")
;; For interactive shell
(setq python-shell-interpreter "/usr/local/bin/ipython3")
  • 解决 error in process filter: ansi-color-filter-apply 的问题
(setenv "IPY_TEST_SIMPLE_PROMPT" "1")

4 总结

Emacs扩展性很强,功能强大。 Python 现在很流行,尤其在数据处理领域。目前,我对它还不是特别了解,但是希望进一步学习。毕竟有些自动化的工作交给它还是很方便的。我已将Emacs配置上传至GitHub,希望对你有所帮助。