Emacs 配置 Python 編程環境


python編程環境設置涉及到:自動完成、語法檢查、虛擬環境。

為了不把系統搞亂,在python的虛擬環境中安裝相關的插件。

一、安裝python虛擬環境 virtualenvwrapper

sudo apt-get virtualenvwrapper

然后創建一個虛擬環境:

$ mkvirtualenv -p /usr/bin/python3 test

下面開始在test這個虛擬環境中操作:
先看看有哪些包:

$ pip list
pip (1.5.6)
setuptools (5.5.1)

可以看到只有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.6)
pylint (1.4.3)
setuptools (5.5.1)
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 1); 開始補全字數 ;; 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 1; 開始補全字數
      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
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM