在 PyCharm 中键入特定模块提示
Type hint a specific module in PyCharm
考虑以下代码:
PyCharm 自动感知这是一个可以引用一个或多个支持库的模块。
是否也可以为其他模块变量手动指定这个?类似于以下内容:
from pyqtgraph.Qt import QtWidgets
QtWidgets: Union[PyQt5.QtWidgets.pyi, PySide2.QtWidgets.pyi] # <-- I want to add this type hint
在幕后,pyqtgraph
正在动态构建虚拟 QtWidgets
以在运行时指向多个库之一,但 PyCharm 不知道这一点。有没有办法让我手动将该类型提示 (QtWidgets.pyi
) 添加到我导入的模块(在本例中,pyqtgraph.Qt.QtWidgets
)?
我也发了here,供参考
正如您在这里看到的,它没有向我显示 sys.Test
的提示,因为它不存在。
你可以做什么 - 你可以使用存根,也就是 .pyi 文件。
我刚刚添加了一个 sys.pyi
文件,[它的名称必须与您的模块相同,在您的情况下为 pyqtgraph.pyi
]。
它不评估文件,而是使用它来收集类型提示。
结果是
而sys.pyi
的内容是:
Test: bytes
您可以在此处阅读有关存根的信息:https://www.jetbrains.com/help/pycharm/stubs.html
考虑以下代码:
PyCharm 自动感知这是一个可以引用一个或多个支持库的模块。
是否也可以为其他模块变量手动指定这个?类似于以下内容:
from pyqtgraph.Qt import QtWidgets
QtWidgets: Union[PyQt5.QtWidgets.pyi, PySide2.QtWidgets.pyi] # <-- I want to add this type hint
在幕后,pyqtgraph
正在动态构建虚拟 QtWidgets
以在运行时指向多个库之一,但 PyCharm 不知道这一点。有没有办法让我手动将该类型提示 (QtWidgets.pyi
) 添加到我导入的模块(在本例中,pyqtgraph.Qt.QtWidgets
)?
我也发了here,供参考
正如您在这里看到的,它没有向我显示 sys.Test
的提示,因为它不存在。
你可以做什么 - 你可以使用存根,也就是 .pyi 文件。
我刚刚添加了一个 sys.pyi
文件,[它的名称必须与您的模块相同,在您的情况下为 pyqtgraph.pyi
]。
它不评估文件,而是使用它来收集类型提示。
结果是
而sys.pyi
的内容是:
Test: bytes
您可以在此处阅读有关存根的信息:https://www.jetbrains.com/help/pycharm/stubs.html