我想检查是否已经安装了pymacs。
3 回答
M-x locate-library将告诉您 emacs 是否可以在其load-path. 如果它没有返回任何内容,您可能需要先进行编辑load-path。
There are many ways to do it.
type apropos, then pymacs. If it finds the symbols, it was loaded.
(require 'pymacs) -- if it does not return error, it was loaded
if you already loaded it, it called (provide 'pymacs), and the variable load-history keeps the symbols
There are still other ways to ckeck it.
不确定您是否在谈论 ELPA 包,但我的 .emacs 中有以下定义:
(defun sh-elpa-ensure-package (名称)
“确保安装了特定的软件包;如果没有,那么
自动下载,编译和安装它。
这主要由 sh-elpa-require 用于允许部署
新机器的配置 - 因此包将是
在新机器上下载(安装后它们是
包管理器自动保持最新)。
如下使用它:
(sh-elpa-ensure-package 'org)"
(if (not (package-installed-p name))
(包安装名称)))
(defun sh-elpa-require (名称)
“标准 Emacs 'require' 的替代品
功能。这使用 sh-elpa-require 下载并安装
如有必要,在使用标准“要求”之前打包
导入它的功能。这对于允许配置很有用
只需“sh-elpa-require”一个包而不必费心
检查它是否已经安装。”
(sh-elpa-ensure-package 名称)
(需要姓名))
然后我可以在我的 .emacs 中包含如下代码来激活包 - 如果它尚未安装,那么这将从 ELPA 下载它并在它是“必需的”之前对其进行字节编译:
(sh-elpa-require 'pymacs)
如果您只是在谈论检查是否从 elisp 安装了一个包,那么您也可以从上面的代码片段中挑选出它的骨架 - 请参阅该(if (not (package-installed-p name))位。