spacemacs python layer 无法补全os module,提示 not enough values to unpack (expected 1, got 0)

你也遇到无法补全 os 模块的 bug 了?还是本来就好使?

选区_014\

今天重装spacemacs,添加python layer后可以补全os模块了,我用的jedi版本是0.9.0,很神奇的是之前用这个版本的不行, 可能是配置不兼容一类的,后面在按照以前的配置重新开始一步一步地test,为了Python,为了spacemacs,这个坑我填了

降级虽然是个办法,但是0.9.0 版本也有它自身的问题,我忘记是什么了

于是我用0.10.2的加上你之前的那个try catch 的fix,发现也行了,

congrats!

不,是 try except :wink:

jedi 要发布 0.11 了,不知道这个问题到时候能否修复,如果修复的话就不用再 hack 了

jedi 0.11 已经发布了,这个问题得到了修复。

但是,anaconda 的作者貌似这几天没有跟进,所以会报错。不过还是可以用的,需要 hack 一下 anaconda_mode.py (如果是 spacemacs,在 .emacs.d/.cache/ 文件夹下找),参考:

下面的图是anaconda_mode 0.1.8(经过上面的修改), jedi 0.11 下截的

图片

其实,这个问题我从来没遇到过,虽然我用的也是 jedi 0.10.2。

同样都是用做后端 jedi,跟 anaconda 比起来,elpy 表现好太多了。不知 elpy 用了什么方法去捕获 jedi 的异常的。

但是 elpy 的缺点也很明显,anaconda-mode 相对比较轻量级,所以和 org-mode 配合得比较好。另外代码比 elpy 简单,可能更容易 hack。