Emacs 24的Python.el+ipython无法完成模块名

2024-05-20 11:54:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我在OSX上使用Emacs24.4.1(与自制程序一起安装)、内置的python.el、python3(也安装了自制程序)以及ipython2.3.0。我在我的.emacs中有这个:

(setq
 python-shell-interpreter "/usr/local/bin/ipython3"
 python-shell-prompt-regexp "In \\[[0-9]+\\]: "
 python-shell-prompt-output-regexp "Out\\[[0-9]+\\]: "
 python-shell-completion-setup-code
 "from IPython.core.completerlib import module_completion"
 python-shell-completion-module-string-code
 "';'.join(module_completion('''%s'''))\n"
 python-shell-completion-string-code
 "';'.join(get_ipython().Completer.all_completions('''%s'''))\n")

当我调用M-x run-python时,一切都正常工作,除了一件事:模块名的<tab>-完成在REPL中不起作用(它在*Messages*缓冲区中显示“No match”)。我很确定它是和Emacs24.3一起工作的,我最近升级了它,但我不能百分之百确定。有人知道是什么原因造成的,或者我如何调试它?在


Tags: 程序stringcodeshellcompletionelprompt内置