你描述问题总是不清楚,什么叫 torch 不行。
你 Spacemacs 的时候用的 lsp 么,后端是什么,如果都是 pyright 跟你用 spacemacs 什么的没有关系,你用 vscode 也是这样,只不过 pylances 默认把他们写的 stub 已经加上了,不需要手动加。
别的后端好久没用了,不清楚什么情况。反正 Pyright 的原理就是这样,我是把 type check 关了,只用补全。
你描述问题总是不清楚,什么叫 torch 不行。
你 Spacemacs 的时候用的 lsp 么,后端是什么,如果都是 pyright 跟你用 spacemacs 什么的没有关系,你用 vscode 也是这样,只不过 pylances 默认把他们写的 stub 已经加上了,不需要手动加。
别的后端好久没用了,不清楚什么情况。反正 Pyright 的原理就是这样,我是把 type check 关了,只用补全。
不好意思 对的,spacemacs的时候用的也是pyright,补全什么的都没问题,是为啥呢? 现在用了stub,torch里面有的成员能找到,但是像torch.cuda就找不到
type check是这样关的吗
(setq lsp-pyright-typechecking-mode nil)
这个问题我重新生成了torch的stub解决了,感谢 ,我想问一下大佬,我有了lsp为啥还要lsp-pyright 我还需要装python-mode吗,不装行不行啊
这里补充一下,如果开了 lsp-pyright-use-library-code-for-types
应该可以把生成的 torch stub 删掉。因为这个生成的 stub 只是一个草稿,是为了方便人写 stub 用的,不是用来补全的。
因为 lsp 默认不支持 pyright
可以 Emacs 有自带的 python
是不是意味着我添加了(setq lsp-pyright-stub-path "/home/max/.emacs.d/typings/")
就不需要切换pyvenv的环境了啊
不是,typings 和 venv 是两回事,建议看文档理解
我的意思是补全我都放在typeings中,切换venv运行,这样写代码就不需要切换环境,运行时再切换
但是这个也有个副作用,有些喜欢用奇技淫巧的包(如 transformers)开了会卡死
你不可能给所有用到的包都找到一个 stubs 或者手动生成吧,如果你需要 lsp-pyright-use-library-code-for-types 是需要切换环境的。
确实,感谢大佬,还有,我没装python-mode,我切换环境必须用pyvenv吗?我看lsp-pyright有 lsp-pyright-venv-path
但是好像没用
有用,还要指定 venv (都说让你去读 pyright 文档了,读完你就不会有这些问题了。。。)
提问题前把相关的文档先读一遍。看了还不会来请教,把问题描述清楚,我相信大家很愿意帮忙。每次就那么一句,我的不行了、不工作了,让你改bug能行吗?
说起来,pyright 的那个 stub 库(里面就是一堆 Any(和没有没什么区别x
不好意思了!受教!
确实,我用pyright自己生成的还是不行,用github下载的就可以!
我上面都跟你解释了生成的不是用来补全用的,你都不看的么。。。。
但是可以用来补全,你是这么解决的吗,我把cv2.pyi拷到项目目录中就可以补全了
不是,补全与 pyi 应该没什么关系(