【发布时间】:2020-06-01 10:35:56
【问题描述】:
在使用我的 python 包时,某个函数会执行一些交互式 matplotlib 内容。
在 Jupyter Notebook 中,我总是必须使用魔法 %matplotlib qt 来切换后端以使其正常工作。
然而,这对我来说似乎很明显,但其他尝试使用我的包的人并不是那么简单。
这是我目前在__init__.py 中的内容:
def run_from_notebook():
return hasattr(__builtins__, '__IPYTHON__')
if run_from_notebook():
# this has no effect
try:
from IPython import get_ipython
ipython = get_ipython()
except ImportError:
import IPython.ipapi
ipython = IPython.ipapi.get()
ipython.magic("matplotlib qt")
我也试过了:
if matplotlib.get_backend() != 'Qt5Agg':
matplotlib.use('Qt5Agg')
但仍然没有效果。
当有人导入我的包时,有没有办法在 Jupyter Notebook 中自动切换后端? 还有:有什么理由不被认为是一种好的做法?
【问题讨论】:
-
switch_backend 有帮助吗?
-
@jayveesea 不幸的是,它没有。
标签: python matplotlib jupyter-notebook jupyter