拨开荷叶行,寻梦已然成。仙女莲花里,翩翩白鹭情。
IMG-LOGO
主页 文章列表 在没有汇入的情况下使用子模块会出错

在没有汇入的情况下使用子模块会出错

白鹭 - 2022-02-14 1946 0 0

这可能不是最好的 MWE,但我不确定这是否是一个特定问题,或者我只是不了解基本知识。这有效:

import matplotlib as mpl
import matplotlib.backends.backend_tkcairo as tkcairo
fig = mpl.figure.Figure()
canvas = tkcairo.FigureCanvasTkCairo(fig)

我认为这也应该有效:

import matplotlib as mpl
fig = mpl.figure.Figure()
canvas = mpl.backends.backend_tkcairo.FigureCanvasTkCairo(fig)

但它没有(模块 'matplotlib' 没有属性 'figure')。为什么这不起作用,为什么与 mpl.figure.Figure() 相关的错误在两个 MWE 之间没有区别?

uj5u.com热心网友回复:

matplotlib不会自动汇入子模块figure或子模块backends,而是backends.backend_tkcairo汇入figure

仅仅汇入一个模块并不一定意味着所有的子模块都会随之而来。这取决于这些是如何撰写的。

在这种情况下,最好显式地汇入您需要的子模块。

标签:

0 评论

发表评论

您的电子邮件地址不会被公开。 必填的字段已做标记 *