我正在IPython中运行%matplotlib,但是有一个 AttributeError:'NoneType'对象没有属性'lower'
Python 3.7; MacOs Mojave 10.14.6(18G84); 康达matplotlib:3.1.1 pypi_0 pypi
In [13]: import matplotlib
In [14]: import matplotlib.pyplot as plt
In [15]: %matplotlib
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-15-a49a4afc47c5> in <module>
----> 1 get_ipython().run_line_magic('matplotlib', '')
//anaconda3/lib/python3.7/site-packages/IPython/core/interactiveshell.py in run_line_magic(self, magic_name, line, _stack_depth)
2311 kwargs['local_ns'] = sys._getframe(stack_depth).f_locals
2312 with self.builtin_trap:
-> 2313 result = fn(*args, **kwargs)
2314 return result
2315
<//anaconda3/lib/python3.7/site-packages/decorator.py:decorator-gen-108> in matplotlib(self, line)
//anaconda3/lib/python3.7/site-packages/IPython/core/magic.py in <lambda>(f, *a, **k)
185 # but it's overkill for just that one bit of state.
186 def magic_deco(arg):
--> 187 call = lambda f, *a, **k: f(*a, **k)
188
189 if callable(arg):
//anaconda3/lib/python3.7/site-packages/IPython/core/magics/pylab.py in matplotlib(self, line)
97 print("Available matplotlib backends: %s" % backends_list)
98 else:
---> 99 gui, backend = self.shell.enable_matplotlib(args.gui.lower())
100 self._show_matplotlib_backend(args.gui, backend)
101
AttributeError: 'NoneType' object has no attribute 'lower'
答案 0 :(得分:0)
根据the docs %matplotlib
可以提供一个后端(例如,包括“内联”,“笔记本”,“ gtk”,“ qt4”等)。如果未提供后端选项,则应使用默认选项。看来这在某些版本的ipython中已损坏(请参见here和here)。我在某些版本的%matplotlib
的{{1}}命令中也遇到了麻烦。
因此,请尝试更新matplotlib
和/或ipython
,看看是否可以解决问题。
或者,使用matplotlib
获取可用选项,然后选择一个并尝试(例如):
%matplotlib --list
如果您遇到一些花哨的绘图工作,有时在特定情况下一个后端将无法正常工作,因此您可以测试一些后端并使用有效的(或可用的)后端。另外,如果您想直接使用图形窗口执行操作(例如在屏幕上四处移动图形),则这些窗口将成为后端特定的。如果您使用的是%matplotlib qt
,请尝试jupyter notebook
或%matplotlib inline
。
答案 1 :(得分:0)
在此处收到Jupyter Lab的类似错误消息。通过放置后端魔术为我解决了
myFunction(double)
在实际进行绘图的单元格中。