声明可选依赖的类型注解
Declare type annotation for optional dependency
假设我想声明一个源自我的库的可选依赖项的输入类型。我可以选择将其设置为字符串,至少让 Python 开心(例如,不要抱怨缺少名称)。但是 Mypy 当然不知道如何处理这个缺失的类型。有没有解决方案,无需 安装可选依赖项?
例如,我的库有选择地依赖于 Matplotlib。一些函数将 Axes 对象作为输入。
def some_plotting_func(data, ax: "matplotlib.axes.Axes" = None):
if ax is None:
from matplotlib.pylab import subplots
_, ax = subplots(1, 1)
然后 MyPy 抱怨,因为 matplotlib 没有被导入(我不想将它加载到模块顶部,但只有在 some_plotting_func
.
的函数体内需要时
MyPy 输出:
error: Name "matplotlib" is not defined [name-defined]
可能你需要在cmd中安装matplotlib。
假设我想声明一个源自我的库的可选依赖项的输入类型。我可以选择将其设置为字符串,至少让 Python 开心(例如,不要抱怨缺少名称)。但是 Mypy 当然不知道如何处理这个缺失的类型。有没有解决方案,无需 安装可选依赖项?
例如,我的库有选择地依赖于 Matplotlib。一些函数将 Axes 对象作为输入。
def some_plotting_func(data, ax: "matplotlib.axes.Axes" = None):
if ax is None:
from matplotlib.pylab import subplots
_, ax = subplots(1, 1)
然后 MyPy 抱怨,因为 matplotlib 没有被导入(我不想将它加载到模块顶部,但只有在 some_plotting_func
.
MyPy 输出:
error: Name "matplotlib" is not defined [name-defined]
可能你需要在cmd中安装matplotlib。