问题标签 [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.

0 投票
1 回答
4523 浏览

python - 抑制 VS Code 中的 Pylance 类型注释警告

在我工作的公司,我们使用类型注释来定义函数的预期返回类型。大多数开发人员都在使用 PyCharm,但我更喜欢坚持使用 VS Code。

VS Code IDE 中的以下行:

引发 Pylance 警告:

并希望我使用:

虽然解决这个问题需要我检查整个代码库,并且不会被拉取请求接受。

这种类型的类型注解在 Python 3.10 中是允许的(我不是 100% 确定),但在我们当前使用的 Python 3.7 中是不允许的。因为我可以忍受这个警告,所以我想压制它。

0 投票
0 回答
26 浏览

python - Visual Studio Code can import only modules installed in python, but not in a virtual environment

This is the imports section of a python script:

enter image description here

As you can see, some of the imports are marked as unresolved by VSC. The only way to avoid this is by installing such modules in general python.

How can I instruct VSC to use a virtual environment where all these modules are already installed?

0 投票
0 回答
749 浏览

pandas - 如何在我的 vscode 项目中修复熊猫代码的错误 pylance 警告?

我试图让我的 Python 项目在 VSCode 中没有 PyLance 警告。不幸的是,看起来 Pandas 对象没有完整的输入信息。这是一个简单的例子:

这个用于创建 pandas Timestamp 对象的简单工作代码:

会给我警告:

Timestamp 对象的输入信息似乎不知道它支持字符串作为参数。

我知道我可以通过以下# type:ignore评论将其关闭:

我想教育我的实习生解决所有的打字警告,所以这是不好的做法。

如何配置这些额外的输入信息并将其提交到我的项目中?我可以将自己的类型存根添加到我的项目中吗?

0 投票
1 回答
214 浏览

python - 如何将“值”属性强类型为 str 或自定义类型?

在严格类型检查模式下使用 Pylance (ms-python.vscode-pylance) VS Code 扩展时,我的自定义 Enum 值出现类型错误,如下代码:

在线检测到类型错误,ctrlSequenceStr: str = ctrlSequence.value因为ctrlSequence.value被检测为 type Any | Unknown。所以我的目标是强烈键入value我的扩展属性Enum

我已经尝试过例如在“Python 中基于字符串的枚举”问答中ANSICtrlSequence(str, Enum)指定的操作,但没有成功。

我已经阅读了该课程enum.pyi,并且可以理解为什么 value 的类型是这样的:

我找不到在文档StackOverflow上的任何地方将我的 value 属性键入为 str 的方法。那么有可能吗?有没有办法覆盖继承属性的类型?或者我是否需要使用例如可能是 StrEnum 的 IntEnum 的等价物来扩展 Enum 类?也许我需要编写自己的强类型 Enum 类?有什么我错过的吗?

0 投票
1 回答
334 浏览

python - 错误“时间”未定义:UndefinedVariable

当我在 VS Code 中运行此代码时,它运行良好,但是“时间”带有下划线: 带下划线的词

如果我将鼠标悬停在那里,我会看到来自 PyLance 的错误消息,其中指出:

我在文件开头做了,但在https://docs.python.org/3/library/time.html#time.timeimport time中找不到线索。

我想这不是一个大问题,但由于我正在学习,我很想得到一些建议,这样我就可以从一开始就避免坏习惯。

0 投票
0 回答
188 浏览

python - 生成 .pyi 文件,其中包含 .pyd 二进制文件的文档字符串

我最近从源代码编译了 opencv,目前正在尝试在使用 pylance 语言服务器时获得自动完成和工具提示以在 vscode 上工作。不幸的是,pylance 不支持.pyd二进制文件。作为一个临时解决方案,我想我可以使用一个存根文件,所以我使用 mypy stubgen 工具生成了一个。但后者不包括文档,这就是我问以下问题的原因。

生成的存根文件应具有以下格式:

我可以使用绝地语言服务器,但它没有我也真正需要的语义突出显示功能。

(我不介意您是否也可以为我指出一个针对 opencv 的自动完成/工具提示问题的更强大的修复)

0 投票
0 回答
362 浏览

python - VSCode 和 Pylance 没有正确运行模块 matplotlib

我需要使用外部模块matplotlib。我使用带有行的命令提示符安装它pip install matplotlib。然后我添加./source"python.analysis.extraPaths"VSCode 工作台中的 settings.json 文件部分。现在,我的代码只运行了一半。它只会显示第一个的结果plt.plot(x,y)(请参见下面的代码),其余代码将不会运行。但是如果注释掉那条线,那么我会在我的终端(请看图片)终端结果中得到以下结果。如果我尝试在不调试的情况下运行代码(ctrl + F5),我会在终端中得到以下结果:C:\Users\Alejandro_DIYPC\AppData\Local\Programs\Python\Python38-32\python.exe: No module named matplotlib.__main__; 'matplotlib' is a package and cannot be directly executed. 有没有人经历过同样的事情或有类似的经历可以帮助我?谢谢你。

0 投票
2 回答
2460 浏览

python-3.x - Pylance 导入无法解决

我有一个helper在主 python 文件目录中命名的模块,但是即使 python3 完美运行它,pylance 也会发出警告Import "helper" could not be resolved,如何解决这个问题?
helper 是一个目录

目录结构:

主要.py:

0 投票
1 回答
2991 浏览

python-3.x - 在 VS Code settings.json 中禁用特定的 Pylance linting 消息,例如“python.linting.pylintArgs”

Pylance被引入时,我提出了一个关于如何自定义 Pylance linting 的问题。在这里,可以找到一些自定义 Pylance 的方法,但没有关于如何抑制、静音或实际禁用某些警告和错误的内容。

回顾一下,使用pylint可以指定以下内容VS Code settings.json以禁用某个错误/警告:

至于背景,由于过多的 Pylance(reportMissingImports) linting 错误尚未解决,并且由于项目要求,我已同时启用 pylint 和 Pylance。尽管如此,这些无数的 Pylance(reportMissingImports) linting 错误还是很烦人,我想完全让它们静音。

0 投票
0 回答
294 浏览

visual-studio-code - pylance,linting 在 vscode python venv 中不起作用

我正在尝试使用我创建的 virtualenv 在 vscode 中进行 pylance 和 linting 工作。它完美地在 virtualenv 之外工作。经过大量检查,我终于在Log(Extension Host):上发现了这个错误[error] [ms-python.python] provider FAILED。当我尝试重命名变量时发生这种情况。

我已经与官方网站多次交叉检查了设置,但没有任何效果。

我正在使用最新稳定版本的 vscode 在 Windows 10 上工作。

编辑:我刚刚删除了 .vscode 并重新加载了 vscode,并且 linting 工作正常。