工欲善其事,必先利其器。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环境 django创建helloworld项目
linux下配置python环境 1.linux下安装python3 a. 准备编译环境(环境如果不对的话,可能遇到各种问题,比如wget无法下载https链接的文件) yum groupinstal ...
Ubuntu下配置python完成爬虫任务(笔记一)
Ubuntu下配置python完成爬虫任务(笔记一) 目标: 作为一个.NET汪,是时候去学习一下Linux下的操作了.为此选择了python来边学习Linux,边学python,熟能生巧嘛. 前期目 ...
sublime text 3 配置python IDE
Python越来越受“程序猿”们的青睐.快速的开发模式,简洁的代码格式,海量的扩展,这无疑都为python的火热奠定了基础. “磨刀不误砍柴工”,一款功能强劲的IDE能帮助开发者有效的管理.编辑,运行 ...
linux下安装python,Django,虚拟环境
linux下python安装步骤: 1.下载python3源码包 wget https://www.python.org/ftp/python/3.6.6/Python-3.6.7.tgz 2.下载p ...
Linux下升级Python到3.5.2版本
原文出处:https://www.cnblogs.com/tssc/p/7762998.html 本文主要介绍在Linux(CentOS)下将Python的版本升级为3.5.2的方法 众所周知,在20 ...
python 基础1.1--windows/linux 下安装python
一.windows下安装python 1>windows上python后缀是.msi的,下载下来后,直接双击运行.会在c盘生成python.exe的文件,把python.exe的文件加入到win ...
Linux下配置一个VNC服务器
在Linux下配置一个VNC服务器,并设置2个用户,要求其中一个用户登录时不需要输入密码. 然后在客户端使用ssh+vncview的方式访问. 1确认vnc安装 2配置vncserver 3测试vnc ...
linux下配置mysql默认编码utf8
linux下配置mysql默认编码utf8 下面是需要在对应地方加入的配置 [client] default-character-set=utf8 [mysqld] character-set-ser ...
随机推荐
PHP编码规范PSR-1
.note-content { font-family: "Helvetica Neue", Arial, "Hiragino Sans GB", STHeit ...
js 上传文件后缀名的判断 var flag=false;应用
js 上传文件后缀名的判断 var flag=false;应用 /p>
关于 presentViewController 时机
类似微信.QQ这些应用如果用户没有登录,会弹出登录界面,如果 presentViewController 是写在 viewDidAppear 之前,会有警告 Presenting view cont ...
Linux解压/压缩命令——tar、gz、tar.gz、tgz、bz2、tar.bz2、Z、zip、rar、lha
.tar 解包:tar -xvf FileName.tar 打包:tar -cvf FileName.tar DirName ——————————————— .gz 解压1:gunzip FileNa ...
[HDU 5029] Relief grain
Relief grain Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 100000/100000 K (Java/Others)T ...
inflate, findViewById与setContentView的区别与联系
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentV ...
MyBatis框架知识整理
MyBatis框架 一.介绍: MyBatis实际上是Ibatis3.0版本以后的持久化层框架[也就是和数据库打交道的框架]! 和数据库打交道的技术有: 原生的JDBC技术---> Spring ...
设置Linux环境变量的方法与区别(Ubuntu)
设置 Linux 环境变量可以通过 export 实现,也可以通过修改几个文件来实现,有必要弄清楚这两种方法以及这几个文件的区别. 通过文件设置 Linux 环境变量 首先是设置全局环境变量, ...
使用aidl的项目结构以及小的注意事项
在app的build.gradle里面添加: sourceSets{ main{ java.srcDirs = ['src/main/java','src/main/aidl'] } }
Shader学习笔记
Shader学习笔记 例子: Shader "SrfShader1"{ //定义显示在Inspector中的变量,并从Inspector中获取值 Properties{ _Colo ...