2013-12-18 83 views
1

我是Emacs(24)的新手。我安裝了python模式。它的路徑名是「〜/ .emacs.d/python-mode-6.0.10」。我有一個 「中的python-settings.el」 文件 「〜/ .emacs.d /設置/」,它包含以下行,EMACS-Python-Mode-Load Error

; 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的,我不斷收到錯誤「無法打開加載文件‘蟒蛇模式’。

我不知道什麼是錯的。

回答

1

如果M-: (require 'python-mode)給你一個錯誤,那麼python-mode.el不在y中我們的負載路徑;再次看看你的問題,我注意到在文中你提到它在~/.emacs.d/python-mode-6.0.10,但你的python-settings.el引用~/.emacs.d/python-mode-6.0.11 - 是否有可能是python-settings.el中的拼寫錯誤?

+0

我試過這個(在我的python-settings.el文件中用python替換了python模式),並且我得到一個錯誤,告訴python設置沒有提供。 – user1955184

+0

但是爲什麼我應該使用(require'python)當我特別安裝python-mode軟件包並將它放在'〜/ .emacs.d/python-mode-6.0.11'中。這使用ipython,我希望配置emacs,以便我可以從emacs內部訪問ipython解釋器。 – user1955184

+0

傳遞給REQUIRE的參數不是一個文件名,而是一個符號,它與您要加載的代碼中傳遞給PROVIDE的符號相匹配 - 如果'python-mode.el'包含'(提供'python)',那麼REQUIRE調用的正確形式是'(require'python)',與傳遞給PROVIDE的符號相同。同樣,如果你想'(require'python-settings)',但沒有任何東西用這個符號調用PROVIDE,那麼你會得到一個錯誤 - 添加到你的'python-settings.el'文件的末尾形式'(提供'python-settings)',並且使用該符號的REQUIRE調用將開始工作。 –

1

(require'python-mode)是正確的,因爲python-mode.el提供'python-mode,not'python。

確保您的python-settings在需要python-mode之前加載,例如通過python-file,應該避免錯誤。

另外你也許可以更新python-mode.el,但這不是相關的。

+0

我很抱歉,你能否詳細解釋一下?只有我的Python設置需要python模式,我需要在我的.emacs文件中使用python-settings。所以Python的設置不能加載後,需要python模式的權利? – user1955184

+0

@ user1955184 AFAIU您的設置看起來正確。很難說從這裏出了什麼問題。只是從我自己的錯誤中獲得的經驗:有時它有助於找到一種方法,稍後再回到這個問題上。作爲一種解決方法,您可以使用emacs-init中的(加載...)。 –