#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
раскомментирования) области кода.