在 Python mode 下,用 run-python 开启了 interpreter。然后用 tab 补全,基本上没有成功的。但是我自己下载一个 company-jedi 并运行,就可以获得正确的补全。请问我是有什么地方没有配置对么?我只是在 spacemacs 的配置文件中加上了 Python 和 auto-complete 两个 layer。
在 python/post-init-company
这个函数中 添加一下代码就可以了。
(defun python/init-company-jedi ()
(use-package company-jedi
:if (configuration-layer/package-usedp 'company)
:defer t
:init
(push 'company-jedi company-backends-python-mode))))
有个问题就是,没法跳转,想查很多东西查不了
补充一下,解决了 anaconda-mode
不能使用的情况。原因是 mac 下 使用 brew 安装的 python 在使用 pip
安装 anaconda
的时候会出错。需要在 ~/.pydistutils.cfg
中写入
[install]
prefix=
在手动运行
pip install anaconda-mode==0.1.1
重新启动 spacemacs 就可以解决这个问题了。
python层是依赖semantic层的,你加入semantic层支持应该就可以解决这个问题了。
试试看,前两天一直卡在这个上面了。。。谢谢
@guanghui.qu 师傅师傅 问题解决了,我信仰充值果真有效!!!!!
@xcodebuild 因为 brew 装 Python 的原因。咻,终于解决了。
可以看看 *anaconda-mode*
buffer 里面的提示信息
Collecting anaconda_mode==0.1.2
Using cached anaconda_mode-0.1.2-py2-none-any.whl
Collecting service-factory>=0.1.2 (from anaconda_mode==0.1.2)
Collecting jedi>=0.9.0 (from anaconda_mode==0.1.2)
Using cached jedi-0.9.0-py2.py3-none-any.whl
Collecting six (from service-factory>=0.1.2->anaconda_mode==0.1.2)
Using cached six-1.10.0-py2.py3-none-any.whl
Installing collected packages: six, service-factory, jedi, anaconda-mode
Successfully installed anaconda-mode jedi service-factory-0.1.2 six-1.10.0
e[0;31mOut[e[1;31m1e[0;31m]: e[0m0
anaconda_mode port 9000
有效!十分感谢!
能不能,把您的配置,发出来让我参考下呀? 我都折腾了好久,都没有效果。。。
我没有改动 spacemacs 的配置,只是用 pip 正确安装 anaconda-mode 就好了。
修改 ~/.pydistutils.cfg
很危险,它会导致你的 python 在用 pip 安装 package 的时候,默认安装在 /lib/python2.7/site-packages 目录下面,跟 homebrew 原来安装的 /usr/local/lib/python2.7/site-packages 不一样。。。 我被这个坑到了。
我把这个文件删除之后,重新用 homebrew 安装 python 之后,anaconda-mode 也自动安装好了,并无任何异常。
暂时不清楚是 anaconda-mode upstream fix 了,还是我之前有安装 anaconda-mode 的原因。
感谢,根据提示信息升级了jedi版本,解决了问题