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

Linux 下配置 Python IDE——Emacs的更多相关文章

  1. linux下配置python环境 django创建helloworld项目

    linux下配置python环境 1.linux下安装python3 a. 准备编译环境(环境如果不对的话,可能遇到各种问题,比如wget无法下载https链接的文件) yum groupinstal ...

  2. Linux下配置python环境

  3. Ubuntu下配置python完成爬虫任务(笔记一)

    Ubuntu下配置python完成爬虫任务(笔记一) 目标: 作为一个.NET汪,是时候去学习一下Linux下的操作了.为此选择了python来边学习Linux,边学python,熟能生巧嘛. 前期目 ...

  4. sublime text 3 配置python IDE

    Python越来越受“程序猿”们的青睐.快速的开发模式,简洁的代码格式,海量的扩展,这无疑都为python的火热奠定了基础. “磨刀不误砍柴工”,一款功能强劲的IDE能帮助开发者有效的管理.编辑,运行 ...

  5. linux下安装python,Django,虚拟环境

    linux下python安装步骤: 1.下载python3源码包 wget https://www.python.org/ftp/python/3.6.6/Python-3.6.7.tgz 2.下载p ...

  6. Linux下升级Python到3.5.2版本

    原文出处:https://www.cnblogs.com/tssc/p/7762998.html 本文主要介绍在Linux(CentOS)下将Python的版本升级为3.5.2的方法 众所周知,在20 ...

  7. python 基础1.1--windows/linux 下安装python

    一.windows下安装python 1>windows上python后缀是.msi的,下载下来后,直接双击运行.会在c盘生成python.exe的文件,把python.exe的文件加入到win ...

  8. Linux下配置一个VNC服务器

    在Linux下配置一个VNC服务器,并设置2个用户,要求其中一个用户登录时不需要输入密码. 然后在客户端使用ssh+vncview的方式访问. 1确认vnc安装 2配置vncserver 3测试vnc ...

  9. linux下配置mysql默认编码utf8

    linux下配置mysql默认编码utf8 下面是需要在对应地方加入的配置 [client] default-character-set=utf8 [mysqld] character-set-ser ...

随机推荐

  1. HDU 4731 Minimum palindrome 打表找规律

    http://acm.hdu.edu.cn/showproblem.php?pid=4731 就做了两道...也就这题还能发博客了...虽然也是水题 先暴力DFS打表找规律...发现4个一组循环节.. ...

  2. 竖向 两级手风琴 TAB 栏

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  3. 【例题 8-13 UVA - 11093】Just Finish it up

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 尺取法. 假设现在取[l..r]这一段. 然后发现累加的和小于0了. 那么方法只能是不走l..l+1这一段了 即delta递减(p[ ...

  4. 重构insert update 比较两个datatbale

    #region 下载时重构insert(数据带null处理) public void DownDataInsert(DataTable _dt, string TableName,DBHelper d ...

  5. [Redux-Observable && Unit testing] Testing the output of epics

    Epics can be unit-tested just like any other function in your application - they have a very specifi ...

  6. R 语言下常用第三方库的说明

    1. doBy 官方文档见 CRAN - Package doBy doBy 主要适用于以下操作: 1) Facilities for groupwise computations of summar ...

  7. HDU 3584 Cube (三维树状数组)

    Problem Description Given an N*N*N cube A, whose elements are either 0 or 1. A[i, j, k] means the nu ...

  8. [CSS] Build a Fluid Loading Animation in CSS

    In this lesson, we will create a fluid loading animation using Animations and Transformations in CSS ...

  9. 玩转Bootstrap(基础) -- (6.导航条基础)

    1.导航条样例 <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" ...

  10. 1.2 Use Cases中 Messaging官网剖析(博主推荐)

    不多说,直接上干货! 一切来源于官网 http://kafka.apache.org/documentation/ 下面是一些关于Apache kafka 流行的使用场景.这些领域的概述,可查看博客文 ...