如何在 emacs 中使用 elpy 正确设置 Jedi?

How to properly setup Jedi with elpy in emacs?

我正在使用带有 elpy 的 emacs 作为处理 python 代码的模式。我还安装了 Jedi,主要是为了两件事:转到它提供的定义功能和自动完成功能。

但是,我 运行 使用此设置遇到以下问题:

  1. Jedi 完成不是由键盘命令触发的。它会自动出现,但有时对我来说太晚了,我宁愿早点尝试调用它。然而,尽管自定义页面中有一个 Jedi: Key complete 选项,但它似乎没有任何作用。另一方面,elpy 的公司模式的快捷方式在 C-M-i.
  2. 上执行此操作
  3. 当 Jedi 和 company-mode 同时打开时,有时会出现两个完成列表(内容相同;我也安装了 company jedi 后端)- 但只有其中一个允许更改选择(来自 Jedi 的完成列表),但是使用来自公司的输入选择。这不可用。

有没有什么方法可以设置一些东西,以便我可以从带有绝地后端和绝地去定义的单一来源自动完成?

这就是我目前在 init.el 中设置 jedi 的方式:

(add-hook 'python-mode-hook 'jedi:setup)
(setq jedi:complete-on-dot t)

According to the document of elpy, you just need to install elpy package. Then use the config below

(elpy-enable)  
(setq elpy-rpc-backend "jedi")  

That's all. You can visit https://github.com/jorgenschaefer/elpy for more information.