【问题标题】:How do I install python-mode.el for Emacs?如何为 Emacs 安装 python-mode.el?
【发布时间】:2012-07-06 13:26:23
【问题描述】:

我使用的是 Ubuntu 10.10 (Maverick Meerkat)。我从Launchpad下载了python-mode.el,放到emacs.d/plugins/

现在我该如何安装python-mode.el

【问题讨论】:

  • 自 emacs 22 以来 python 模式不是标准的吗?
  • 这里的“python-mode”是一个独立于 FSF emacs 附带的默认“python”模式的包。

标签: python emacs


【解决方案1】:

试试这个

(add-to-list 'load-path "~/.emacs.d/plugins")
(require 'python-mode)

【讨论】:

  • 你怎么知道需要什么名字?
  • @murtaza52 - 它通常是 .el 文件的名称,但并非总是如此。如果您打开 .el 文件,在接近末尾的地方应该有一行 (provide 'python-mode) 表示您需要的名称 require
  • 只是在@jtahlborn 所说的基础上添加一点内容,(require) 加载一个功能,(provide) 说明“.el”文件可以使用哪些功能。
  • 您可以将此信息添加到答案中而不是使用 cmets 吗?
【解决方案2】:

我发现根据编辑的文件类型自动加载适当的编辑模式更方便。有很多方法可以做到这一点,但我通常会在 autoload-alist 中添加一个条目:

(and (library-loadable-p "python-mode")
     (setq auto-mode-alist (append '(
                     ("\\.py\\'"       . python-mode)
                     )
                   auto-mode-alist)))

对于我喜欢使用的各种模式,我有一长串清单。如果未安装 python-mode(或任何其他模式),它会静默失败。如果我在没有安装模式的 ISP 服务器上运行,我将 ~/lib/elisp 添加到加载路径并将丢失的 .el 文件放在那里。

library-loadable-p 来自朋友,只是测试文件是否在加载路径中的某处:

(defun library-loadable-p (lib &optional nosuffix)
  "Return t if library LIB is found in load-path.
Optional NOSUFFIX means don't try appending standard .elc and .el suffixes."
  (let ((path load-path)
    elt)
    (catch 'lib-found
      (while (car path)
    (setq elt (car path))
    (and
     (if nosuffix
         (file-exists-p (concat elt "/" lib))
       (or (file-exists-p (concat elt "/" lib ".elc"))
           (file-exists-p (concat elt "/" lib ".el"))
           (file-exists-p (concat elt "/" lib))))
     (throw 'lib-found t))
    (setq path (cdr path))))))

【讨论】:

    【解决方案3】:

    我建议克隆最新的快照:

    cd ~/.emacs.d/site-lisp/python-mode
    bzr branch lp:python-mode
    

    然后添加到.emacs:

    (add-to-list 'load-path "~/.emacs.d/site-lisp/python-mode")
    (setq py-install-directory "~/.emacs.d/site-lisp/python-mode")
    (require 'python-mode)
    

    您可以稍后将其更新到最新版本:

    bzr update
    

    但不要忘记重新编译:

    (byte-recompile-directory (expand-file-name "~/.emacs.d/site-lisp/python-mode") 0)
    

    【讨论】:

      【解决方案4】:

      在 emacs 25 中,您可以使用 melpa 安装 python 模式,因此只需将其添加到您的 .emacs 文件中:

      (require 'package)
      (add-to-list 'package-archives
                   '("melpa-stable" . "https://stable.melpa.org/packages/"))
      

      重新加载文件,然后输入,

      Alt+x list-packages
      

      移动到你想要的包,

      python-mode
      

      然后点击“回车”,在打开的新缓冲区中移动到Install并按回车。

      这会导致python-mode安装在~/.emacs.d/elpa

      现在在打开python-mode 的新缓冲区中,编写代码并键入C-u C-c C-c 以评估和显示输出。

      【讨论】:

        猜你喜欢
        • 2013-11-06
        • 2023-04-03
        • 2023-03-15
        • 1970-01-01
        • 2012-12-08
        • 2014-03-02
        • 2014-11-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多