Ошибка инициализации при попытке установить elpy для emacs

#installation #emacs #package #initialization #elpy

#установка #emacs #пакет #инициализация #elpy

Вопрос:

Вечер,

Я пытаюсь установить пакет для emacs, который никогда не делал этого раньше. Я использую следующее руководство https://realpython.com/emacs-the-best-python-editor / который намеревается установить elpy.

Следующая информация помещается в ~/.emacs.d/init.el


;; .emacs.d/init.el
2
3;; ===================================
4;; MELPA Package Support
5;; ===================================
6;; Enables basic packaging support
7(require 'package)
8
9;; Adds the Melpa archive to the list of available repositories
10(add-to-list 'package-archives
11 '("melpa" . "http://melpa.org/packages/") t)
12
13;; Initializes the package infrastructure
14(package-initialize)
15
16;; If there are no archived package contents, refresh them
17(when (not package-archive-contents)
18 (package-refresh-contents))
;; Installs packages
21;;
22;; myPackages contains a list of package names
23(defvar myPackages
24 '(better-defaults
elpy ;; Set up some better Emacs defaults
25 material-theme ;; Theme
26 )
27 )
28
29;; Scans the list in myPackages
30;; If the package listed is not already installed, install it
31(mapc #'(lambda (package)
32 (unless (package-installed-p package)
33 (package-install package)))
34 myPackages)
;; ===================================
37;; Basic Customization
38;; ===================================
39
40(setq inhibit-startup-message t) ;; Hide the startup message
41(load-theme 'material t) ;; Load material theme
42(global-linum-mode t) ;; Enable line numbers globally
43;; ====================================
46;; Development Setup
47;; ====================================
48;; Enable elpy
49(elpy-enable)
50
51;; User-Defined init.el ends here

Однако это я откачал в emacs при загрузке после сохранения.


Warning (initialization): An error occurred while loading ‘/Users/jay/.emacs.d/init.el’:

Symbol's function definition is void: t

Кто-нибудь сталкивался с этой проблемой раньше? Спасибо

Ответ №1:

Где-то в каком-то коде, который вы оцениваете (например, загружаемый код), вы пытаетесь вызвать t как функцию.

Вероятно, вы хотели указать список, чей car t : '(t ...) , и вы забыли кавычки: (t ...) .

Lisp пытается интерпретировать список без кавычек как вызов функции, при этом функция является элементом списка.

Я не вижу такого списка без кавычек в показанном вами коде. Возможно, это в каком-то коде, который загружает этот код. Чтобы найти проблему, разделите файл инициализации пополам. Вы можете использовать command comment-region для комментирования (и C-u раскомментирования) области кода.