【问题标题】:EMACS-Python-Mode-Load ErrorEMACS-Python-模式加载错误
【发布时间】:2013-12-18 15:59:46
【问题描述】:

我是 Emacs 新手 (24)。我安装了python模式。它的路径名是 "~/.emacs.d/python-mode-6.0.10 " 。我在“~/.emacs.d/settings/”中有一个“python-settings.el”文件,它包含以下几行,

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

在我添加的 .emacs 文件中,

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

但是当我尝试加载 emacs 时,我不断收到错误“无法打开加载文件“python-mode”。

我不知道怎么了。

【问题讨论】:

    标签: python emacs


    【解决方案1】:

    (require 'python-mode) 是对的,因为 python-mode.el 提供的是 'python-mode,而不是 'python。

    确保在需要 python 模式之前加载你的 python 设置,例如通过 python 文件,应该避免错误。

    您也可以更新 python-mode.el,但这并不相关。

    【讨论】:

    • 很抱歉,您能详细解释一下吗?只有我的 python-settings 需要 python-mode 并且我需要在我的 .emacs 文件中使用 python-settings。所以在需要 python-mode 之后不能加载 python-settings 对吗?
    • @user1955184 AFAIU 您的设置似乎正确。很难从这里判断出什么问题。只是我自己的错误经验:有时它有助于暂时找到一种方法,稍后再回到这个问题上。作为一种解决方法,您可以从您的 emacs-init 使用 (load ...)。
    【解决方案2】:

    如果M-: (require 'python-mode) 给你一个错误,那么 python-mode.el 不在你的加载路径中;再次查看您的问题,我注意到您在文本中提到它在 ~/.emacs.d/python-mode-6.0.10,但您的 python-settings.el 引用 ~/.emacs.d/python-mode-6.0.11 - 这可能是 python-settings.el 中的错字吗?

    【讨论】:

    • 我试过这个(在我的 python-settings.el 文件中用 python 替换了 python-mode),我收到一个错误,告诉我没有提供 python-settings。
    • 但是当我专门安装了 python-mode 包并将其放入 '~/.emacs.d/python-mode-6.0.11 ' 时,为什么我应该使用(需要'python)。这使用 ipython,我希望配置 emacs,以便我可以从 emacs 中访问 ipython 解释器。
    • 传递给 REQUIRE 的参数不是文件名,而是一个与您尝试加载的代码中传递给 PROVIDE 的参数相匹配的符号——如果python-mode.el 包含(provide 'python),那么REQUIRE 调用的正确形式是(require 'python),与传递给PROVIDE 的符号相同。同样,如果您尝试 (require 'python-settings),但没有使用该符号调用 PROVIDE,那么您将收到错误 - 在 python-settings.el 文件的末尾添加表单 (provide 'python-settings),并调用 REQUIRE使用该符号将开始工作。
    • @user1955184 根据 Andreas Röhler 的回答,看来我找错了树; (require 'python-mode) 对于您尝试使用的模式是正确的,并对错误表示歉意。如果M-: (require 'python-mode) 给你一个错误,那么 python-mode.el 不在你的加载路径中;再次查看您的问题,我注意到在您提到它在 ~/.emacs.d/python-mode-6.0.10 中的文本中,但您的 python-settings.el 引用了 ~/.emacs.d/python-mode -6.0.11 -- 这可能是 python-settings.el 中的错字吗?
    • @user1955184 当然可以。但我要说的是,如果 python-mode.el 在 python-settings.el 添加到您的加载路径的目录中,那么(require 'python-mode) 不会出错。你能仔细检查一下 python-mode.el 是 python-settings.el 期望的位置吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多