Главная
Блог разработчиков phpBB
 
+ 17 предустановленных модов
+ SEO-оптимизация форума
+ авторизация через соц. сети
+ защита от спама

Emacs как IDE для Python

Anna | 16.06.2014 | нет комментариев
Как вестимо, существует уйма решений которые разрешают сделать из «консольного» редактора (vim/emacs) больше-менее комфортную IDE для языка Python. Представляю Вашему вниманию особенно удачную, на мой взор, реализацию среды разработкы в редакторе emacs на основе пакета python-jedi.el. Подмечу, что бандл заменяющий rope(*-jedi) есть так же для vim, инстукцию по его настройке дозволено обнаружить тут .

image

1. Подготовка к настройке

Для настройки emacs следует знать о стандартном конфигурационном файле, тот, что располагается в ~/.emacs и директории ~/.emacs.d куда мы будем добавлять плагины.
Так же следует ознакомиться с сокращениями и обозначений «жгучих» клавиш. Таких как C(по-умолчанию Ctrl) и Meta(по-умолчанию Alt). Так же существуют определенные правила при написании комбинаций клавиш, так, скажем: C-h t Данная команда обозначает, что нужно единовременно нажать Ctrl и h, отпустить, после этого t. Полный список «жгучих» клавиш.
Позже того как разобрались с основными клавишами и порядком их применения, дозволено приступать к перевоплощению редактора в IDE.

2. Нужные пакеты

Безусловно, помимо python-jedi нам потребуются еще такие пакеты как:

  • auto-complete: интерактивное авто-дополнение;
  • autopair: авто-закрытие кавычек и скобок;
  • flycheck: проверка синтаксиса;
  • ido-settings.el: интерактивное управление буферами и файлами;
  • ipython: интеграция с сильной интерактивной оболочкой python;
  • linum-mode: нумерация строк;

Сам же python-jedi, является расширенным авто-дополнением кода, т.е. в различие от auto-complete, он может дополнять еще и тот код тот, что вы еще не вводили в данном файле, скажем — дополнение импорта

2.1 Установка пакетов в Emacs-24

Для примитивный и стремительной установки пакетов в emacs отменнее каждого воспользоваться ELPA (Emacs Lisp Package Archive), для этого нужно в конфиг-файл .emacs добавить репозитории и определить директорию откуда будут подгружаться модули

add-to-list 'load-path "~/.emacs.d/")
(load "package")
(require 'package)
(setq package-archives '(("gnu" . "http://elpa.gnu.org/packages/")
                         ("marmalade" . "http://marmalade-repo.org/packages/")
                          ("melpa" . "http://melpa.milkbox.net/packages/")))

Позже этого дозволено получить список

M-x: package-list-packages

и преступить к установке пакетов auto-complete, autopair, flycheck, ipython

M-x: package-install

Впрочем, помимо package существует решение el-get, отличительной спецификой которого яляется знание механически докачивать зависимости. Для установки el-get перейдите в буфер *scratch* (C-x b) и вставьте следующие строки:

(url-retrieve
 "https://raw.github.com/dimitri/el-get/master/el-get-install.el"
 (lambda (s)
   (let (el-get-master-branch)
     (goto-char (point-max))
     (eval-print-last-sexp))))

после этого нажмите C-j (это исполнит код), позже этого добавляем в конфиг директорию el-get c условием перезакачки скрипта

(add-to-list 'load-path "~/.emacs.d/el-get/el-get")
(unless (require 'el-get nil 'noerror)
  (with-current-buffer
      (url-retrieve-synchronously
       "https://raw.github.com/dimitri/el-get/master/el-get-install.el")
    (let (el-get-master-branch)
      (goto-char (point-max))
      (eval-print-last-sexp))))
(el-get 'sync)

Т.к. пакет ido теснее присутствует в emacs 24, то легко активируем его через .emacs:

(require 'ido)
(ido-mode t)
2.2 Установка jedi

Для правильной работы python-jedi нужен python-модуль virtualenv, в большинстве ОС, по-умолчанию, он отсутствует, устанавливаем через pip:

pip install virtualenv
M-x: el-get-install jedi

Позже этого в конфигурационный файл добавляем

(add-hook 'python-mode-hook 'auto-complete-mode)
(add-hook 'python-mode-hook 'jedi:ac-setup)
2.2 Навигация по плану

Для передвижения по директории плана, предлагается применять emacs-nav

M-x: el-get-install emacs-nav

image

3. Добавочные пакеты

Добавочно дозволено установить модуль для механического подсвечивания ошибок и механического закрытия кавычек и скобок.Правим .emacs:

(add-hook 'after-init-hook #'global-flycheck-mode)

(require 'autopair)
(autopair-global-mode) 

Подмечу, что конечный (autopair) может сделать дюже много скобок либо кавычек при копи-пасте, для отключения оного следует удалить две последние строчки.
Для того, что бы применять ipython как оболочку по-умолчанию, добавляем строчки

(setq-default py-shell-name "ipython")
(setq-default py-which-bufname "IPython")

Завершение

Вот и все, из простого редактора мы получили, по функциональным вероятностям, IDE с собственным администратором пакетов и вероятностью растяжения.
image
Спасибо каждому кто дочитал до конца.

Источник: programmingmaster.ru
Оставить комментарий
Форум phpBB, русская поддержка форума phpBB
Рейтинг@Mail.ru 2008 - 2017 © BB3x.ru - русская поддержка форума phpBB