VSCode Pylance 对 ImportError 的误报反应 (?)

2 投票
1 回答
47 浏览
提问于 2025-04-14 16:56

我正在尝试用Python写一个跨平台的应用程序。我想使用uvloop(如果可以的话),用的是这段代码:

import asyncio

try:
    import uvloop
    asyncio.set_event_loop_policy(uvloop.EventLoopPolicy())
except ImportError:
    pass

不过,在Windows上,pylance显示“无法解析导入‘uvloop’”的消息(因为uvloop在这个操作系统上不可用,所以这没关系)。这不是个大问题,一切都能正常工作,但这个消息让我有点烦。我可以设置忽略规则,但我想保留其他未解析导入的警告,因为在其他情况下它们还是挺有用的。我该怎么告诉Pylance,在这个特定情况下我可以接受这个警告呢?

1 个回答

2

设置一个内联忽略语句:

import asyncio


try:
    import uvloop # type: ignore
    asyncio.set_event_loop_policy(uvloop.EventLoopPolicy())
except ImportError:
    pass

最好对你想要忽略的规则更具体一些。上面的写法会忽略所有类型检查的错误。

https://github.com/microsoft/pylance-release/issues/196#issuecomment-668099106

撰写回答