標籤:
python編程環境設定涉及到:自動完成、語法檢查、虛擬環境。
為了不把系統搞亂,在python的虛擬環境中安裝相關的外掛程式。
一、安裝python虛擬環境 virtualenvwrapper
sudo apt-get virtualenvwrapper
然後建立一個虛擬環境:
$ mkvirtualenv -p /usr/bin/python3 test
下面開始在test這個虛擬環境中操作:
先看看有哪些包:
$ pip listpip (1.5.6)setuptools (5.5.1)
可以看到只有2個包。
以下開始在虛擬環境中安裝!
二、在虛擬環境中安裝相關包 jedi、pylint
(test)[email protected]:$ pip install jedi pylint
說明:
jedi --------- python的自動補全;
pylint ------- python的語法檢查;
安裝完後看看裝了哪些東西:
$ pip listastroid (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
安裝
- elpy
- flycheck
- company-jedi
- 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/elpyhttp://www.pylint.org/#myCarousel
Emacs 配置 Python 編程環境