2012-02-01 14 views
4

を生成します。のEmacs +ロープ+ Pythonは、私はEmacsでオートコンプリートでRopemacsを使用しようとしているが、私はデバッガのエラーを取得しておくLispのエラー

Debugger entered--Lisp error: (void-function rope-completions) 
    (rope-completions) 
    eval((rope-completions)) 
    eval-last-sexp-1(nil) 
    eval-last-sexp(nil) 
    call-interactively(eval-last-sexp nil nil) 

シンボルrope-completionsはそれだけで表示されChのS.からのドキュメントを持っていません一度、auto-complete-configで指定します。私は最新のropemacs、ropemode、pymacs、python-ropeをダウンロードしていました。

設定ファイルからこの機能を削除すると、自動完了はカーソルを完了させようとすると赤色に変わります。私は私のシステムのどこにでもこの機能への参照を見つけることができません。

Lispでオートコンプリートが完全に機能しています。 EmacsでPythonのオートコンプリートを行うためにオートコンプリートとRopeを一緒に使うにはどうすればいいですか?

EDIT:C-hによってロープ補完の定義が見えません。私のPymacsバッファの出力は次のとおりです。

<23 (version "0.24-beta2") 
>45 eval pymacs_load_helper("ropemacs", "rope-") 
<278 (return '(progn (pymacs-defuns '(0 rope--OldProgress nil 1 rope--LispProgress nil 2 rope-LispUtils nil 3 rope-message nil 4 rope--lisp-name nil 5 rope--load-ropemacs nil 6 rope--started-from-pymacs nil 7 rope-occurrences-goto "" 8 rope-occurrences-next "")) (pymacs-python 9))) 
>45 eval pymacs_load_helper("ropemacs", "rope-") 
<288 (return '(progn (pymacs-defuns '(10 rope--OldProgress nil 11 rope--LispProgress nil 12 rope-LispUtils nil 13 rope-message nil 14 rope--lisp-name nil 15 rope--load-ropemacs nil 16 rope--started-from-pymacs nil 17 rope-occurrences-goto "" 18 rope-occurrences-next "")) (pymacs-python 19))) 
>51 eval free_python(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 19) 
<13 (return nil) 
>45 eval pymacs_load_helper("ropemacs", "rope-") 
<279 (return '(progn (pymacs-defuns '(19 rope--OldProgress nil 9 rope--LispProgress nil 8 rope-LispUtils nil 7 rope-message nil 6 rope--lisp-name nil 5 rope--load-ropemacs nil 4 rope--started-from-pymacs nil 3 rope-occurrences-goto "" 2 rope-occurrences-next "")) (pymacs-python 1))) 

答えて

1

私は最終的にそれを行うことができた唯一の方法は、他のすべてのチュートリアルを無視して、ただEmacs For PythonのGithubを使用することでした。それは本当にうまく動作し、とにかく使いたいと思っていたたくさんのパッケージを組み合わせて、既存のバインディングと設定を混乱させないように構成するのは簡単です。

4

あなたはemacsの設定でこれを持っていますか? (参照:agr/ropemacs/overview — Bitbucket)あなたはそれを持っている場合、あなたはropemacsコマンドを持っていることを確認

(require 'pymacs) 
(pymacs-load "ropemacs" "rope-") 

などrope-open-projectC-x p o)。

rope-completionsはPython関数として定義されているため、elispソースでその定義が表示されないことに注意してください。

ropemacsを正しくロードすると、C-h f rope-completions RETC-h Sではなく)をヒットすると表示されます。

rope-completions is an interactive Lisp function. 

(rope-completions &rest ARGUMENTS) 

It interfaces to a Python function. 
+0

返信いただきありがとうございます。私はhttp://www.enigmacurry.com/2009/01/21/autocompleteel-python-code-completion-in-emacs/を私の.emacsファイルに直接コピーしました。それはまだ動作しません:( – Conor

+0

私は上記のように正しくropemacsをロードするかどうかチェックできますか?BTW、あなたがropemacsを気にせずに完了したい場合は、おそらくhttp://chrispoole.com/ project/ac-python /。 – tkf

+0

Cx poはコマンドicicle-bookmark-other-window(Pythonバッファ内でさえ)にバインドされており、rope-open-projectコマンドは存在しません。今日指摘。 – Conor

関連する問題