问题标签 [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 投票
2 回答
379 浏览

python - 如何打开 Python 依赖项的符号?

在 vscode 中,如何在我的 Python 项目的依赖项中打开符号?

PyCharm 索引这些符号,因此我可以通过 Navigate - Symbol (⌥⌘O) 访问它们。

0 投票
1 回答
573 浏览

python - “pd.read_csv()”匹配参数没有重载参数类型:(Literal['../cleaned_data.csv.zip'], Literal['zip'])

如何修复来自 VS Code 的以下警告:

对于代码

PS这个错误来自Pylance

0 投票
1 回答
416 浏览

python - “Series[Dtype]”类型的参数不能分配给“DataFrame”类型的参数

我已经定义了以下辅助方法

我的电话build_score_dict,如下图

Pylance 在 VSCode 中给我以下警告/错误。这里发生了什么以及如何解决它?

0 投票
1 回答
1650 浏览

python - 如何在 VS Code 中定义 pylance linting 参数(类似于“python.linting.pylanceArgs”)?

直到大约 3 周前,我一直在使用pylintpythonVS Code.

然后,我启用pylance了替换pylint. 然而,pylance没有在.提供的特定 linter-list 中列出VS Code

现在,pylance 没有显示未使用的模块导入。我怀疑这不包含在 的默认 linting 参数中,所以我试图找出pylance如何修改它们,类似于使用):pylintsettings.json

如何以类似的方式自定义 linting 规则pylance

0 投票
4 回答
7943 浏览

visual-studio-code - Pylance 的 VSCode 设置

我正在使用以下组件运行 Vscode:

我有以下目录结构:

在开发 Python 代码时,我在这个环境中使用了几个 linter。Mypy没有问题但pylance无法解决导入问题。

我正在尝试m2.py从失败m1.py时导入模块。pylance我的目录settings.json下的src文件是:

谁能看到如何解决这个问题?

0 投票
6 回答
37303 浏览

python-3.x - 在 Ubuntu 20.04 LTS 上使用 Python 3.x 在 VS Code 中无法解析 Pylance (reportMissingImports) 导入“Path.to.own.script”

这是几个月前在pylance之前使用pylint遇到的类似情况:

我的python 3.9x- 脚本(使用VS Codeon Ubuntu 20.04 LTS)从以下自定义“工具”的导入开始:

现在,Pylance声明:

即使在程序执行期间模块被完美地导入,也会发生这种情况。

因此,为了确保Pylance理解这是一个现有的模块路径,除了sys.path.append(..)- 方法之外,我在settings.json- 文件中添加了以下内容:

然而,reportMissingImports即使它被正确导入,我仍然收到 - 消息。

我在这里找到的一种解决方法效果很好(附加# type: ignore到导入语句):

尽管如此,这只是一种解决方法,这就是为什么我要解决这个问题的根源。从技术上讲,这与我之前使用的相同解决方法来消除来自pylint. 可能这是 - 配置所固有的东西VS-Code settings.json,因为 usingVS-Code是这里的常数因素。


编辑未解决问题的其他措施:

我添加了

到我的~/.bashrc- 文件,这使我现在可以从终端直接在python-shell 中导入模块,而无需之前的sys-path 操作。然而,这仅适用于全局系统 python 环境,而不适用于任何虚拟环境。为了在那里更改系统路径,我按照这些说明进行操作,而我的特定虚拟环境“scrapy_course”是打开的,如下所示:

此命令适用于virtualenvwrapper ,它与pyenv一起巧妙地管理虚拟环境。sys.path.append(...)现在,即使没有预先导入模块,我也可以在当前环境中运行上述脚本,但pylance仍然无法正确识别路径并向我显示与以前相同的警告。


编辑"python.analysis.useImportHeuristic": true

我已经在我的全局settings.json文件中不断地激活了这个选项,但我仍然没有注意到任何影响。一旦这种情况发生变化,或者最终(不同的)解决方案出现在我面前,我会及时通知您。


编辑抑制/禁用 Pylance 'reportMissingImports' linting-message:

我已经发现了如何完全抑制特定的 Pylance-linting-message,如果你感兴趣的话。特别是在我目前的情况下,无论如何我都需要并行使用pylint,所以我根本不依赖 Pylance 的 linter 。

0 投票
3 回答
13920 浏览

python - VS Code / Pylance / Pylint 无法解析导入

摘要

我有一个从 VS Code 终端运行时可以使用的 python 导入,但是 VS Code 的编辑器会发出警告。此外,“转到定义”不起作用。

问题

我从图像创建了一个 docker 容器tensorflow/tensorflow:1.15.2-py3,然后使用 VS Code 的“Remote-Containers”扩展附加到它。然后我在容器中创建了以下文件。

主要.py:

这在 VS Code 终端中运行良好,但编辑器和问题窗格都给了我一个unresolved import 'tensorflow.compat'警告。“转到定义”也不适用于tf.__version__.

我正在使用几个扩展,但我相信相关的是 Microsoft Python 扩展(安装在容器中),以及 Remote - Containers 扩展,现在是 Pylance 扩展(安装在容器中)。

我尝试过的事情

我已经用 default 试过了pylint,然后在安装后也pylance得到了类似的结果。我也看过一些关于类似问题的文档,但它们与为作为项目一部分的模块设置正确的源文件夹位置有关。相比之下,我项目中的代码似乎可以很好地处理导入/转到定义。外部库似乎不起作用。

另外,为了这个最小的例子,我以 root 身份附加到容器,所以我猜这不是权限提升的问题。

我还尝试禁用除以下之外的所有扩展,但得到了相同的结果:

  • 远程 - 容器(本地)
  • 远程 - WSL(本地)
  • Python(在容器上)
  • Jupyter(在容器上,Python 出于某种原因需要)

上面的所有扩展都是最新版本。

我也摆弄过设置python.autocomplete.extraPaths,但我不确定正确的路径是什么。必须将库添加到全局 python 安装中安装的路径似乎也是错误的事情,特别是因为我没有使用虚拟环境(它位于 docker 容器中)。

问题

如何修复 VS Code 以便它识别此导入并且我可以使用“转到定义”来探索这些 tensorflow 函数/类/等?

0 投票
1 回答
3980 浏览

python - VSCode Pylance 自动导入仅提示输入

我正在使用vscode pythonpylance extension。半个月前,一切都很好,当我输入pandas而不导入它时,我可以按cmd + .显示快速修复,但现在我不能。此外,pylance说它有一个auto import功能,但是,它只会自动导入任何与typing包相关的东西。

我应该修改 pylance 存根路径,因为现在它默认为键入吗?

0 投票
0 回答
122 浏览

python - 如何停止“Pylance 扩展程序可用”弹出窗口?

当我在包含 python 文件的文件夹中启动 VS Code 时,程序经常会在屏幕右下角弹出一个窗口,通知我 Pylance 扩展可用。当文件从以前的 VS Code 实例重新打开时,以及当我打开一个新的 python 文件时,它会执行此操作。

即使我之前从推荐扩展列表中删除了 Pylance,它也会这样做。

如何阻止此弹出窗口重复出现?

0 投票
0 回答
63 浏览

python-3.x - 如何让智能感知在 vscode 中工作,而 python 代码位于不同的模块中

我刚刚开始尝试使用python。我有 pylance 作为默认语言服务器的 vscode。在 pylance 之前,我是另一个 MS python 语言服务器。没有任何区别。我在 Windows 上,但虚拟环境位于 WSL2(Ubuntu)中,以防万一。

我开始尝试使用 pysnow,当代码和函数位于一个文件中时,建议对函数和 pysnow 本身包含的内容非常有用,我相信它被称为注释。(作为文档字符串?)。请参阅以下示例:

可用功能的建议

可用功能的建议

pysnow 注释

pysnow 注释

但是,当我开始将功能拆分为不同的模块时,我再也看不到这些建议了……

我在开始时进行导入,根据 pylance,模块正确解析,因为当我开始输入它时,它是来自另一个模块的建议函数名称。但是,没有像我在上面的屏幕截图中发布的建议。

我确实相信有可能以某种方式将他们带回来,希望社区可以帮助我:)

谢谢!