python编程环境设置涉及到:自动完成、语法检查、虚拟环境。

为了不把系统搞乱,在python的虚拟环境中安装相关的插件。

一、安装python虚拟环境 virtualenvwrapper

sudo apt-get virtualenvwrapper

然后创建一个虚拟环境:

$ mkvirtualenv -p /usr/bin/python3 test

下面开始在test这个虚拟环境中操作:
先看看有哪些包:

$ pip list
pip (1.5.)
setuptools (5.5.)

可以看到只有2个包。

以下开始在虚拟环境中安装!

二、在虚拟环境中安装相关包 jedi、pylint

(test)a@pc:$ pip install jedi pylint 

说明:
jedi ---------  python的自动补全;
pylint ------- python的语法检查;

安装完后看看装了哪些东西:

$ pip list
astroid (1.3.6)
jedi (0.9.0)
logilab-common (0.63.2)
pip (1.5.)
pylint (1.4.3)
setuptools (5.5.)
six (1.9.0)

三、在 emacs 中安装相关插件 elpy、flycheck、company-jedi、virtualenvwrapper

M-x package-list-packages

安装

  1. elpy
  2. flycheck
  3. company-jedi
  4. virtualenvwrapper

四、修改emacs配置文件

;; 添加仓库
(require 'package)
(setq package-archives '(
("gnu" . "http://elpa.gnu.org/packages/")
("melpa" . "http://melpa.milkbox.net/packages/")
))
(package-initialize)
;; 自动完成:company
(require 'company)
(add-hook 'after-init-hook 'global-company-mode); 全局开启
(setq company-show-numbers t); 显示序号
(setq company-idle-delay 0.2); 菜单延迟
(setq company-minimum-prefix-length ); 开始补全字数 ;; elpy---主角
(require 'elpy)
(elpy-enable) ;; 语法检查:flycheck
(add-hook 'after-init-hook #'global-flycheck-mode);全局开启
; 关闭flymake,使用flycheck
(when (require 'flycheck nil t)
(setq elpy-modules(delq 'elpy-module-flymake elpy-modules))
(add-hook 'elpy-mode-hook 'flycheck-mode)) ;; 虚拟环境: virtualenvwrapper
(require 'virtualenvwrapper)
(venv-initialize-interactive-shells)
(venv-initialize-eshell)
(setq venv-location "~/pyvirtualenv/");设置虚拟环境目录
;; 如果有多个目录:
;; (setq venv-location '("~/myvenv-1/"
;; "~/myvenv-2/"))
;; M-x venv-workon 打开虚拟环境

这样一个最简单的python编程环境就配置好了。

 注:在家目录下的.bashrc文件中加入以下2行
#tells virtualenvwrapper where to store the virtualenvs that will be created and used.
export WORKON_HOME=~/pyvirtualenv #runs the shell script to set up the virtualenvwrapper commands and should point to the location where virtualenvwrapper was installed.
source /usr/share/virtualenvwrapper/virtualenvwrapper.sh

pyvirtualenv是放置虚拟环境的目录,可以改成自己想要的名字。这样virtualenvwrapper用起来更灵活些。

相关链接:
https://github.com/jorgenschaefer/elpy
http://www.pylint.org/#myCarousel
 
还有种方式:
从package.el安装好anaconda-mode和company-anaconda就可以了!可以不用装jedi。

;; 自动完成
(require 'company)
(global-company-mode t); 全局开启 (setq company-idle-delay 0.2;菜单延迟
company-minimum-prefix-length ; 开始补全字数
company-require-match nil
company-dabbrev-ignore-case nil
company-dabbrev-downcase nil
company-show-numbers t; 显示序号
company-transformers '(company-sort-by-backend-importance)
company-continue-commands '(not helm-dabbrev)
)
; 补全后端使用anaconda
(add-to-list 'company-backends '(company-anaconda :with company-yasnippet))
; 补全快捷键
(global-set-key (kbd "<C-tab>") 'company-complete)
; 补全菜单选项快捷键
(define-key company-active-map (kbd "C-n") 'company-select-next)
(define-key company-active-map (kbd "C-p") 'company-select-previous) ;; 在python模式中自动启用
(add-hook 'python-mode-hook 'anaconda-mode)

然后在虚拟环境总 pip install  jedi==0.8.1 json-rpc==1.8.1 service_factory==0.1.2

 

Emacs 配置 Python 编程环境的更多相关文章

  1. vim配置python编程环境及YouCompleteMe的安装教程

    python号称人工智能语言,现在可算大热,这篇博客将介绍如何用vim打造一款自己专属的python编程环境. step1 由于安装YouCompleteMe需要vim8.0及以上版本,所以得安装使用 ...

  2. 使用UE配置Python编程环境

    一直在使用UE来进行python编程,觉得在UE下进行python编程使用起来还是很方便地,现在特来总结一下: 1.首先是python环境搭建 (1)下载python2.7 https://www.p ...

  3. Windows配置Python编程环境

    1.安装Python https://www.python.org/ 2.修改环境变量 将安装python的路径加到path路径 3.配置notepad++ a. notepad++/运行/“运行”按 ...

  4. Spark 的 python 编程环境

    Spark 可以独立安装使用,也可以和 Hadoop 一起安装使用.在安装 Spark 之前,首先确保你的电脑上已经安装了 Java 8 或者更高的版本. Spark 安装 访问Spark 下载页面, ...

  5. Windows下Eclipse+PyDev配置Python开发环境

    1.简介 Eclipse是一款基于Java的可扩展开发平台.其官方下载中包括J2EE.Java.C/C++.Android等诸多版本.除此之外,Eclipse还可以通过安装插件的方式进行包括Pytho ...

  6. 在win10的Linux子系统(WSL)上搭载python编程环境

    为什么使用WSL进行python编程 WSL,全称Windows Subsystem for Linux.简言之,win10提供了一个子Linux系统,可以解决虚拟机和双系统的系统之间阻隔的问题而不影 ...

  7. Python编程环境设置

    第1节.Python编程环境设置 一.sublime相关 1.sublime REPL插件安装 (1)安装 先打开插件安装面板:ctrl+shift+P 输入install ,选择Package Co ...

  8. [转]Aptana Studio 3配置Python开发环境图文教程

    转载URL:http://www.cr173.com/html/49260_1.html 一.安装Aptana Studio 3 安装完运行时建议将相关默认工作目录设定在英文的某个目录下.避免可能出现 ...

  9. Notepad++配置Python开发环境

    1. 安装Python 1 下载 我选择了32位的2.7版本.https://www.python.org/ftp/python/2.7.8/python-2.7.8.msi 2. 安装 安装的时候可 ...

随机推荐

  1. ACM2050

    问题描述:   平面上有n条折线,问这些折线最多能将平面分割成多少块? 样例输入 1 2 样例输出 2 7 答案是: 2n ( 2n + 1 ) / 2 + 1 - 2n = 2 n^2 – n + ...

  2. sys.default_constraints

    作为默认定义且 sys.objects.type = D 的每个对象在表中各对应一行, 该默认定义是作为 CREATE TABLE 或 ALTER TABLE 语句的一部分创建的, 而不是作为 CRE ...

  3. 关于python的import

    在软件包里,必须添加__init__.py文件. 想要对外公开的module必须在__init__.py内import一次,这样这些module才能被外部代码import并调用.

  4. 取消本地SVN文件夹与服务器关联

    问题:之前建了一个SVN代码库,同步了代码上去,但中途发现建库时的规则搞错了,就把服务器上的库给删了重建,然后改变本地代码的svn服务器关联地址,但使用Relocate一直报错. 错误有两种情况:1. ...

  5. JavaScript如何判断参数为浮点型

    在codewars里,确实可以学到很多很酷的方法,例如这一次的题目是判断数字是否为浮点型.我一开始是想有没有原生的js方法,像isNaN(),isFinite(),在前者Infinity是不属于NaN ...

  6. 最近的bug列表总结(C++)

    最近写了一大段代码,抽象得厉害,容易绕进去,因为写单测的代价很大(借口),所以很多问题到联调的是否才发现. 而且花费了很大的经历才查出来,主要问题有如下几个问题 1. 变量未初始化 具体来说,就是指针 ...

  7. flask前后台交互数据的几个思路

    通过url进行参数传递: @app.route('/hello/<name>') # <name>为传递的参数 def hello(name=None): return ren ...

  8. 转载.net泛型理解说明

    net泛型理解 泛型简介: 泛型(Generic Type)是.NET Framework2.0最强大的功能之一.泛型的主要思想是将算法与数据结构完全分离开,使得一次定义的算法能作用于多种数据结构,从 ...

  9. mongodb基础系列——数据库查询数据返回前台JSP(二)

    上篇博客论述了,数据库查询数据返回前台JSP.博客中主要使用Ajax调用来显示JSON串,来获取其中某一个字段,赋给界面中的某一个控件. 那这篇博客中,我们讲解,把后台List传递JSP展示. Lis ...

  10. MFC编辑框换行实现

    MFC中换行实现 在mfc中编辑框允许输入多行时,换行符被表示为<归位><换行>即“\r\n”,用ascii码表示为13 10 如果为编辑框中想要输入换行,就请将编辑框的属性: ...