工欲善其事,必先利其器。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. words2

    餐具:coffee pot 咖啡壶coffee cup 咖啡杯paper towel 纸巾napkin 餐巾table cloth 桌布tea -pot 茶壶tea set 茶具tea tray 茶盘 ...

  2. vue中 v-cloak 的用法

    原文来自:http://www.sunzhongwei.com/hide-vuejs-variable-with-v-cloak-when-page-loading

  3. Codefroces Educational Round 26 837 C. Two Seals

    C. Two Seals time limit per test 1 second memory limit per test 256 megabytes input standard input o ...

  4. 【Codeforces Round #426 (Div. 2) B】The Festive Evening

    [Link]:http://codeforces.com/contest/834/problem/B [Description] [Solution] 模拟水题; 注意一个字母单个出现的时候,结束和开 ...

  5. 使用Ant 和 Maven打包发布命令行程序(转载)

    From:https://www.linux178.com/Java/maven-release.html 用Java写了一个命令行的小程序,使用的Intellij IDE是IDEA13原来一直使用A ...

  6. Windows简单入门-送给第一次使用电脑的朋友

    序言 写本篇文章前.不得不说我已经好久没有写博客了,快接近3个月了 吧,本来去年说參加今年的博客之星的,结果这都立即结束了:不得不说对自己有些嘲讽. 本篇文章是纯小白文章.之所以写这个是由于前段时间妹 ...

  7. 从 QSplitter 中移除 QWidget(使用隐藏与显示,切换十分方便,不要真正销毁)

    Splitter 的函数中有addWidget,但是却没有removeWidget, 或者delete之类的功能,所以如果想删去或者暂时不显示其中的某些widget就要自己手动完成这个效果.方法一:取 ...

  8. js20---接口3种方式

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...

  9. div+css制作表格

    html: <div class="table"> <h2 class="table-caption">花名册:</h2> ...

  10. 异步调用WCF的方法需要小心的地方

    直接使用下面的代码,由于client对象占用的资源没有被释放,会导致内存泄露GetSimServiceReference.GetSimServiceClient client = new GetSim ...