我想检查是否已经安装了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))
位。