You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VSCode的Pylance无法显示Rust(PyO3、Maturin)扩展的文档字符串

问题原因

VSCode的Python语言服务依赖**静态类型信息/存根文件(.pyi)**来提供hover提示,而PyO3编译出的原生扩展模块默认不会自动生成这类存根文件。IPython能获取__doc__是因为它在运行时直接读取模块的动态属性,不需要静态分析支持。

解决方法

1. 用maturin生成存根文件

在构建时添加--generate-stubs参数,让maturin自动生成对应的类型存根:

  • 开发模式构建:
    maturin develop --generate-stubs
    
  • 生产构建并安装:
    maturin build --generate-stubs
    pip install [对应wheel包路径]
    

maturin会在模块安装目录下生成answers.pyi文件,里面包含函数的文档字符串和类型定义。

2. 确保VSCode识别到存根文件

生成的存根文件会和你的扩展模块放在同一目录下(比如Python环境的site-packages/answers/),重启VSCode后,语言服务会自动读取这个存根文件,此时hover get_answer就能看到文档注释了。

额外验证

如果还是没生效,可以检查VSCode的Python解释器是否切换到了你安装模块的环境,确保环境一致。

内容的提问来源于stack exchange,提问作者cadolphs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 04:10:10