我正在VSCod上做一个木星笔记本。当我导入另一个本地文件夹中的函数时,VSCode不会显示函数的docstring。当我悬停在笔记本中的文件名上时,我看到消息导入“脚本”无法被解析- Pylance。
它与Numpy和Pandas这样的库一起正确工作,如果我在同一个笔记本上定义了函数的话。它还能很好地处理python .py文件。
复制文件脚本在某些/路径中的位置的代码:
import sys
sys.path.append("some/path")
from scripts import func1这是我的settings.json文件
{
"gitlens.defaultDateFormat": null,
"editor.inlineSuggest.enabled": true,
"python.defaultInterpreterPath": "~/opt/anaconda3/envs/test/bin/python",
"python.languageServer": "Pylance",
"python.analysis.autoSearchPaths": true,
"python.analysis.extraPaths": [
"./tools"
],
"editor.minimap.enabled": false,
"github.copilot.enable": {
"*": true,
"yaml": true,
"plaintext": false,
"markdown": false
}
}发布于 2022-09-09 15:02:09
更新
这个问题应该已经解决了,#3017
旧答案
经过几个小时的搜索,以下是每个这句话的解决方案。只需为用户在settings.json文件中添加以下内容,就可以禁用Pylance笔记本实验:
"python.pylanceLspNotebooksEnabled": false在工作区settings.json文件中只包含本地模块。
"python.languageServer": "Pylance",
"python.analysis.extraPaths": [
"path/to/local/module"
]如果在项目中经常使用相同的本地路径,并且使用的是conda环境,则有更好的方法解决此问题。此外,避免添加行sys.path.append(..)。您可以运行命令conda develop path/to/local/module,它将将此路径添加到此环境的库中。
发布于 2022-09-10 13:27:33
我也有同样的麻烦,但提出的解决方案对我来说并不完全有效.它只显示了
`(函数) siges_seine:((mailleId: int) -> DataFrame)
但不是我写的文档字符串。
https://stackoverflow.com/questions/73646219
复制相似问题