anaconda-mode 的 eldoc 信息更新很慢,然后。。。

还有一些问题

Linux 下直接安装就能用吗?

你说的卡到底有多卡?和 anaconda-mode 相比。

抱歉我刚刚试的时候一直会显示 error 的信息,重启 Emacs 后就解决了。

我是在 Mac 下安装的,Linux 应该也能安装, 只要 pip install python-language-server 后 安装 Lsp-mode 和 lsp-python 后就能运行了。

现在用下来有两个缺点。

  1. 写代码时会顿卡,但是在可接受范围之内
  2. 有时会没法补全,一直提示 Error。
1 个赞

非常感谢!我也安上试试

1 个赞

啊 你们终于才发现用 emacs 写 python 的坑了么?

之前把我折腾的半死,当然也有可能是我没花太多时间搞 :rofl:

感觉不错,确实比 emacs 自带的全靠正则表达式搜索的强多了,卡顿的事估计和所用的 pyls 也有关系,因为都是新生事物。美中不足的是 eldoc 的信息没有格式化,比较原始。还有就是 bug 目前比较多,没法用于 org mode 中的代码块。

现在勉强还能用,等着 lsp 一统江湖吧,这应该就是 emacs 的未来

我还是那句话……我们用的真的是同一个软件吗:joy:

你可以分享一下你写 python 用的插件啊。

我电脑上安装的 python 2.7.13 和 python 3.61 两个版本,加上系统本身的总共三个版本。

在别的编辑器里面设置一下 python 执行路径就好,emacs 碰到一堆小麻烦就没咋弄了。

我用的 spacemacs,没有做任何额外的设置,之前卡顿的问题是因为 eldoc 的设置导致的。

Edit:也不能说没设置,对 anaconda-mode 的源文件做了一点修改。

话说,你们interpreter都是ipython的话,anaconda得装吧,至少eshell里which ipython得有。。不知道是不是这个坑?

然后说实话我也不知道我跟你们差别是啥了。。。要不再查查看spacemacs的文档看看,是不是dependencies没安装好。spacemacs/layers/+lang/python at master · syl20bnr/spacemacs · GitHub

你这张图里的 company 补全是咋回事?

只用了 Lsp-mode, Lsp-python,python-mode 没用到 Company。在试 Lsp-mode 的时候,特地取消了 Anaconda-mode,补全的时候也开 Buffer 看一下,只有 Lsp-mode 在起作用,我也很纳闷这到底有没有用到 Comapny 来补全。

Minior-mode 中有显示 company-mode 估计是 Python-mode 参与了补全工作。

能跑起来能补全,就是经常出错,慢。

除非有啥新特性,懒得继续搞了。

你把 jedi 更新到最新的 0.10.2 试试,anaconda-mode 很流畅了,只要不碰到 jedi 解析不了的语句,都不会出错。

后台多个进程也是这个问题造成的,jedi 查询不到结果挂起,然后你只要移动光标就会调用 eldoc 回显,anaconda 于是继续生成进程。造成多个进程。

只要不碰到 jedi 解析不了的词,就像丝一样顺滑 :joy:

如果你使用 numpy,pandas 这些包,有些语句 jedi 不能很好地解析。不过这个问题也快解决了,jedi 有一个 PR 快通过审核了,就是针对这个问题的。

开源界每天都有新鲜事发生,不过进展还是有点慢 :joy:

果然是dependencies的问题么。。。

官方文档果然还是有效的。

#+begin_src sh
    pip install --upgrade "jedi>=0.9.0" "json-rpc>=1.8.1" "service_factory>=0.1.5"
#+end_src

当然如果装了最新的anaconda,是直接0.10.2的。:grinning:

我不确定 @ashfinal 的问题是不是在于 dependences。我的问题不是依赖造成的,是我之前修改 eldoc-idle-delay 又没有及时改回来造成的。

真的好奇怪啊,我没改什么配置,竟然能在 edit buffer 里补全了。

  1. 我没使用 John 的 Scimax
  2. 不用再定义 Name ,和不用再次 import ** 了,都能自动补全了。
  3. 后面的 org-src-block 都能补全之前的写的函数了。