问题标签 [pylance]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 解包元组会导致元组大小不匹配错误
在对元组解包进行类型检查时,我在该程序上遇到 pylance 错误(基本设置)。这个想法是一个元组可以有 2 或 3 个特定类型的元素。
我应该如何去说服检查器这是正确的(没有#type ignore)?
python - 使用 Django 时 VS Code 中的 pylance(reportMissingModuleSource) 错误
https://github.com/microsoft/pyright/blob/master/docs/configuration.md" 错误指向此 GitHub 自述文件,没有说明,也没有针对此错误给出解决方案 显示的错误消息
我再次重新安装 python 和 Django 仍然无法正常工作。我应该怎么办?
python - Pylance 报告GeneralyTypeIssues 预期的类类型,但收到“SQLAlchemy”
我正在寻找一种方法来修复来自 pylance 的此错误消息以及 Visual Studio Code 中的 SQLAlchemy。我可以在存根文件中写什么来消除这个错误?
编码
错误报告:
python-3.x - 如何可视化原始 builtin.py 文件
我很好奇 Python 的一些内置函数(如print()
,input()
等)是如何制作的,但是当我选择“Go to Definition”或“Go to Declaration”时,VSCode 将我带到一些不让我做的 Stub_files.pyi能够可视化函数的代码,但只有函数的参数。
PS:我认为这些按钮“转到...”是由扩展 Pylance 制作的。
我怎样才能让 VSCode 将我带到原始的 builtin.py 文件?
python - Pylance 报告UnknownMemberType,即使变量类型已知
我在 VSCode 上使用 Pylance,我得到这个变量的reportUnknownMemberType警告/错误,即使我可以看到它知道类型。
我对课程很陌生,所以如果有更好的方法可以做到这一点,请告诉我。我的目标是在子类中使用更多键来扩展父类字典。该程序实际上正在运行,父 dict 获取新的键、值对,但我想知道为什么会出现 Pylance 错误。
以下是这些类的继承链,名称简化但结构真实。涉及 3 个类,继承如 Base > SubClass > SubSubClass。Base 类位于一个单独的文件中:
其他 2 个类位于第二个文件中:
我最初的计划是只使用self.exportable[self.name]['properties'] = self.properties
而不是那个 dict 合并,但我得到这个不能分配错误。
我也尝试在 SubSubClass 中使用 访问 SubClass self.exportable
,super().exportable
虽然我认为没有必要,但是当我运行程序时,我得到一个错误,说super() has no attribute 'exportable'。对于它的价值,此super()
尝试在不运行程序时也会从上面给出相同的“无法分配”错误。
使用第一个选项(dict 合并)和第二个选项(分配新的属性键和值),程序可以工作并且self.properties
dict 成功地附加到继承的self.exportable
dict 上。但我想知道我是否做错了什么,或者 Pylance 是否只是感到困惑。我认为它很困惑,因为在 SubClass 中它看到 dict 只是dict[str,Union[str,bool]]
然后 SubClass B,而不是那个Union[str,bool]
值,试图添加properties
dict,它是一组 dict 本身?
当然,我可以让 Pylance 配置中的 reportUnkownMemberType 错误静音,但我担心我掩盖了一些我不知道的东西。
谢谢
python - 类型提示类参数 Pylance 的几种不同类型
当参数可以采用多个(15+)个不同的类时,输入提示的最佳方式是什么?
我有一个Path
带有参数的类action
,可以采取许多不同类型的动作。每个动作都派生自一个基类Action
,并实现了该子类与其兄弟类相比特定的东西:
那里的大多数答案只是提到Union
,但这仅适用于几种可能的类型。我不认为我应该在像actions: Union[ClassA, ClassB, ClassC, ..., ClassZ]
. 无论如何,当我尝试时,Pylance 说的是Argument to class must be a base class
和Unknown type of base class, obscuring deriving type
或类似的。
所以我想AllowedActions
在第三个文件中创建一个类,它只是继承自所有可能的动作类。这个想法是让Path
'saction=
现在AllowedAction
成为一个包罗万象的:
我不介意在Action
这个AllowedAction
声明中添加子类,Path
我只能说action: AllowedAction
. 但是,现在当我实例化Path
并向它的action
参数添加一些东西时Path(action=ActionA())
,我得到了Argument of type "ActionA" cannot be assigned to parameter "action" of type "AllowedAction"
. 显然是因为子类ActionA
与 catch-all / subchild 类不同AllowedAction
,而是像 wth。
这让我相信Path
I should just assign action: Any
,但它似乎首先违背了类型提示的整个目的?
我不知道我是否应该以这种方式解决问题,或者我认为这一切都错了,应该重组继承或其他东西。有什么帮助吗?
python - Pylance 无法识别部分库
我目前正在使用带有pylance扩展的VS代码在python中编程,它工作得很好,除了我不能一次导入整个库,我必须导入各个函数,这对于学习目的来说有点烦人
在下面的屏幕截图中,我以相同的方式设置它们并且它以两种方式工作,但是当我放置“。”时无法看到库中可用的函数很烦人。在“pygame”之后。这里的问题是我可以看到第一行完全着色,黄色突出显示“load”,而下面的“image.load”不是。
注意:我在其他库中也遇到过这个问题,numpy 来命名一个流行的
python-3.x - 为什么pylance无法解析本地相对路径导入(VSCode)?
环境:
- 蟒蛇 3.6.9
- VSCode
- 皮兰斯
我在 VSCode 中的工作区结构是:
我已添加"python.analysis.extraPaths": ["./lib"]
到位于 sync\.vscode 中的 settings.json。
问题是在sync.py 脚本中我在导入lib.queries 时遇到问题。如果我尝试from .lib.queries import *
pylance 不会抱怨,但会因错误而失败attempted relative import with no known parent package
如果我改为使用from lib.queries import *
python3 按预期工作,但 pylance 抱怨说Import "lib.queries" could not be resolved(PylancereportMissingImports)
我可以更改什么以使导入工作和 pylance 没有问题?
更新 如果我将 ./script-program-1 添加到 settings.json python.analysis.extraPaths 问题就消失了。我遇到的问题是这个项目可能有数百个“script-program-X”文件夹,并且所有这些文件夹都可能有自己的本地导入文件。在我使用的任何 VSCode 机器上为它们中的每一个更新这个 extraPaths 变量并不理想。
我试过使用像“./${relativeFileDirname}”这样的变量以及像“./**”和“./*”这样的通配符,但这些都不起作用。
我知道问题是由于工作区根目录是同步文件夹而不是 script-program-1 引起的,但这就是我希望它设置的方式。有人对此有解决方案吗?
python - Python TypeHint 一个根据输入返回不同类型的函数
我有一个像这样工作的方法,它通常用于返回一个Path
.
在最后一行,我从 Pylance 收到以下消息:
(方法) is_file: () -> bool | 未知此路径是否为常规文件(对于指向常规文件的符号链接也为 True)。
无法访问类型“str”的成员“is_file”成员“is_file”未知PylancereportGeneralTypeIssues
有没有办法正确输入提示这种情况,以便 Pylance 知道file
是Path
?或者我应该让它总是返回 Path 并有另一个方法调用get_filename
将输出转换为字符串然后返回?
谢谢
编辑 1
我刚刚意识到另一个更常见的情况:
Here in pandas an input argument can change the output type and Pylance can also not deal with this. For Pylance to know series
is a pd.Series
you must do:
python - 在 Visual Studio Code 中使自定义 Python 模块位置可检测
我在 Visual Studio Code 中使用 Pylance 扩展。它可以根据我导入的模块给我关于不同函数名称及其属性等的提示。
它适用于使用pip install module
. 但是,它无法检测到我在自定义位置从我自己的文件中导入的函数。我像这样导入文件:
因此,Pylance(或 Visual Studio Code)无法向我显示任何有关funcs
. 我还将我的文件夹添加到环境路径变量中,但这也无济于事。
我应该怎么办?
谢谢。