大家用lsp-mode + pyls + company-lsp 补全python卡吗?


#1

尝试了一下,基本都是默认配置。

发现补全sys这种包基本秒出,但是像numpy卡的不行,要两秒多才能出来补全提示,完全无法使用,不知道是不是我配置或者环境的问题?


#2

我也是这种情况,貌似是numpy的结构比较诡异,pyls处理不好


#3

情况类似,其他包还好


#4

你们有尝试过 pytorch, tensorflow这些包的补全效果么? 我一直在用anacoanda,觉得还可以。但是有点想转到统一的lsp-mode。


#5

其他的我都没怎么试。

numpy这么奇葩,我还是先等等吧。


#6

用lsp-mode的时候torch/tensorflow似乎都不会弹出补全,不知道是不是因为lsp-mode用的是系统的Python而我习惯把包装在virtualenv里


#7

应该不是这个问题,lsp-mode 我记得在一个帖子里有出现,可以设置python env. 我在anaconda里,自动和python env关联 (直接在spacemacs中),pytorch,tensorflow 使用都没有问题。

有机会我再尝试下spacemacs中将lsp 设置为backend吧,我这么折腾几次,但感觉不是开箱即用,需要设置很多内容,我没有搞清楚。。。


#8

我这里也很卡,不知道为什么,os都卡


#9

你们得跟jedi比较才有意义 吧!


#10

pyls is a superset of jedi


#11

那个是tensorflow的锅,感觉可能它们都是底层用c写的,然后直接生成python package的安装包的。pycharm对其的支持也不太好,经常无法jump to definition。这个已经是硬伤了,


#12

其实如果没法跳转,提示,大不了查API,emacs里用pyls,经常会莫名卡主,有时还会直接把emacs卡死,特别是做undo操作。这才是最无法接受的。


#13

这个我觉得很有可能是自己配置的问题。我用了半年多了,基本都没有卡住的情况。


#14

numpy是有问题的,本质背后用的也是jedi,jedi对numpy补全是有问题,我提过蛮多issues的。我有试过各种IDE的补全,对numpy支持都不是很好,都有问题。


#15

我之前也是一点都不卡,昨天手贱升级了lsp包之后现在写 注释 和 字符串 到补全触发长度直接卡死


#16

确实。从直观感受上,jedi+numpy在lsp下问题更严重些。


#17

那不是很明确的是版本的问题么,roll back下用用旧版的呗。。。等过段时间再升级试试


#18

并不……rollback之后发现没有恢复。现在发现好像是company或者company-lsp的问题。我下午再调一下


#19

刚发现个参数lsp-use-native-json,如果用emacs 27的话可以enable试试。


#20

我之前用的 anaconda,后来换成了 lsp + pyls。都略卡,但是后者更卡一些⋯⋯