我正在努力处理我的emacs配置。 .emacs中的相关行是:
(require 'python-mode)
(add-to-list 'auto-mode-alist '("\\.py\\'" . python-mode))
(add-hook
'python-mode-hook
'(lambda ()
(message "python-mode-hook called")
(require 'jedi)
(when (require 'elpy nil t)
(elpy-enable)
(setq elpy-rpc-backend "jedi")
(add-hook
'jedi-mode-hook
'(lambda ()
(setq-local ac-max-width 0.5))))))
我加载了一个python文件,调用了钩子,我得到了“python-mode-hook called”消息。但是,elpy功能不存在。如果我然后M-x python-mode
,那么一切都应该如此。
我不明白为什么我需要两次调用“python-mode”。我不知何故认为它可能与以错误顺序调用/定义的钩子有关,但我不明白这里有什么问题。
我很欣赏一些提示。
答案 0 :(得分:0)
要启用elpy功能,您.emacs
所需的只是
(package-initialize)
(elpy-enable)
但是,您还必须正确安装elpy软件包。
尝试执行"快速安装"的所有步骤部分:https://github.com/jorgenschaefer/elpy#quick-installation
答案 1 :(得分:0)
同时想出来...问题是elpy-enable确实安装了一个钩子。它没有像我想象的那样直接调用elpy模式。因此,只有第二次调用python-mode确实会导致调用此函数。当然这更好......所以现在我有:
(elpy-enable)
(setq elpy-rpc-backend "jedi")
(add-hook
'elpy-mode-hook
'(lambda () (setq-local ac-max-width 0.5)))