【发布时间】:2018-06-20 08:08:07
【问题描述】:
我在一个名为 OpenQuake 的程序中使用 Python 3.5。当我执行以下行时,我收到一个导入错误“No module name 'tkinter'”。
import matplotlib.pyplot as plt
我安装了 jupyter 并执行了相同的操作,它工作正常。以下是快照。 我使用 IPython(我相信 jupyter 附带)重新检查,以获得完全相同的原始错误和相同的回溯。以下是回溯。
Traceback (most recent call last):
File "<ipython-input-22-964337a9f103>", line 2, in <module>
import matplotlib.pyplot as plt
File "C:\Program Files\OpenQuake Engine\lib\site-packages\matplotlib\pyplot.py", line 114, in <module>
_backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
File "C:\Program Files\OpenQuake Engine\lib\site-packages\matplotlib\backends\__init__.py", line 32, in pylab_setup
globals(),locals(),[backend_name],0)
File "C:\Program Files\OpenQuake Engine\lib\site-packages\matplotlib\backends\backend_tkagg.py", line 6, in <module>
from matplotlib.externals.six.moves import tkinter as Tk
File "C:\Program Files\OpenQuake Engine\lib\site-packages\matplotlib\externals\six.py", line 90, in __get__
result = self._resolve()
File "C:\Program Files\OpenQuake Engine\lib\site-packages\matplotlib\externals\six.py", line 113, in _resolve
return _import_module(self.mod)
File "C:\Program Files\OpenQuake Engine\lib\site-packages\matplotlib\externals\six.py", line 80, in _import_module
__import__(name)
ImportError: No module named 'tkinter'
两种情况下引用的matplotlib模块都是一样的。
总结一下:
- 上述代码 sn-p 在使用 Python 和 IPython 时出现导入错误。
- 代码 sn-p 在 Jupyter 中执行成功。
有人能解释一下为什么会这样吗?
【问题讨论】:
-
请在您的问题中包含回溯而不是图片。
-
@MaxPowers 如前所述,执行在 Jupyter 中有效,但在 Ipython 或 Python 中无效,所以我认为这不是该问题的重复(与安装有关)。
标签: python matplotlib tkinter ipython jupyter-notebook