Проблемы с загрузкой пакетов при установке el-get emacs-jedi

Я следовал этим инструкциям с el-get попытаться установить emacs-jedi (и другие необходимые пакеты), но не повезло.

В моем файле.emacs я добавил следующие строки:

;; .emacs

;; Load package repositories
(require 'package)
(add-to-list 'package-archives
             '("marmalade" . "http://marmalade-repo.org/package/") t)

(add-to-list 'package-archives
             '("melpa" . "http://melpa.milkbox.net/packages/") t)

;; Install / load / require el-get and
;; packages managed by it.
(add-to-list 'load-path "~/.emacs.d/el-get/")
(add-to-list 'load-path "~/.emacs.d/el-get/el-get")

(unless (require 'el-get nil t)
  (url-retrieve
   "https://raw.github.com/dimitri/el-get/master/el-get-install.el"
   (lambda (s)
     (end-of-buffer)
     (eval-print-last-sexp))))

;; Initialize any loaded packages 
(package-initialize)

;; stuff to set font, theme, etc.
;; ...

;; Include jedi for Python mode.
(add-hook 'python-mode-hook 'jedi:setup)
(setq jedi:complete-on-dot t)

;; rest of file ...

Сначала я видел проблему "не могу открыть загрузочный файл jedi/jedi". Это, казалось, прошло, когда я добавил "~/.emacs.d/el-get/" в путь загрузки (el-get кажется, только помещает "~/.emacs.d/el-get/el-get" в путь загрузки при установке).

Но после этого, открывая файл Python и пытаясь M-x python-mode выдает ошибку:

Symbol's function definition is void: jedi:setup

Я рад сделать больше отладки или предоставить больше сообщений или вывода - но после поиска в Google этих сообщений об ошибках в течение долгого времени, я не смог найти ничего, что могло бы показаться продуктивным.

1 ответ

Вам не хватает (el-get 'sync) который упоминается в https://github.com/dimitri/el-get

Кроме того, вам не нужно (package-initialize) и т.д. для настройки package.el. Все обрабатывается el-get. Это хорошая идея, чтобы не смешивать два менеджера пакетов.

Вот минимальная настройка Emacs для использования Jedi через el-get:

(add-to-list 'load-path "~/.emacs.d/el-get/el-get")

;; Uncomment this, if you are in hurry
;; (setq el-get-install-skip-emacswiki-recipes nil)

(unless (require 'el-get nil 'noerror)
  (with-current-buffer
      (url-retrieve-synchronously
       "https://raw.github.com/dimitri/el-get/master/el-get-install.el")
    (goto-char (point-max))
    (eval-print-last-sexp)))

(el-get 'sync)

(add-hook 'python-mode-hook 'jedi:setup)
(setq jedi:complete-on-dot t)

;; Type:
;; - M-x el-get-install RET jedi RET
;; - M-x jedi:install-server RET
;; Then open any Python file.

Обновить:

Я добавил это в руководстве

  1. http://tkf.github.io/emacs-jedi/latest/
  2. http://tkf.github.io/emacs-jedi/latest/
Другие вопросы по тегам