matplotlib-导入错误:没有名为_tkinter的模块

matplotlib-导入错误:没有名为_tkinter的模块,matplotlib,ibm-cloud,jupyter-notebook,data-science-experience,dsx,Matplotlib,Ibm Cloud,Jupyter Notebook,Data Science Experience,Dsx,我有一个简单的笔记本,上面有以下代码: %matplotlib inline 但是,在运行它时,我得到以下错误: ImportError: No module named _tkinter 我在同一个项目中有另一个笔记本,这个笔记本可以毫无问题地运行语句 data science体验是一个托管服务,因此您没有安装\u tkinter的root访问权限 完整堆栈跟踪: ImportErrorTraceback (most recent call last) <ipython-input-

我有一个简单的笔记本,上面有以下代码:

%matplotlib inline
但是,在运行它时,我得到以下错误:

ImportError: No module named _tkinter
我在同一个项目中有另一个笔记本,这个笔记本可以毫无问题地运行语句

data science体验是一个托管服务,因此您没有安装\u tkinter的root访问权限

完整堆栈跟踪:

ImportErrorTraceback (most recent call last)
<ipython-input-43-5f9c00ae8c2d> in <module>()
----> 1 get_ipython().magic(u'matplotlib inline')
      2 
      3 import matplotlib.pyplot as plt
      4 #import numpy as np
      5 

/usr/local/src/bluemix_jupyter_bundle.v20/notebook/lib/python2.7/site-packages/IPython/core/interactiveshell.pyc in magic(self, arg_s)
   2161         magic_name, _, magic_arg_s = arg_s.partition(' ')
   2162         magic_name = magic_name.lstrip(prefilter.ESC_MAGIC)
-> 2163         return self.run_line_magic(magic_name, magic_arg_s)
   2164 
   2165     #-------------------------------------------------------------------------

/usr/local/src/bluemix_jupyter_bundle.v20/notebook/lib/python2.7/site-packages/IPython/core/interactiveshell.pyc in run_line_magic(self, magic_name, line)
   2082                 kwargs['local_ns'] = sys._getframe(stack_depth).f_locals
   2083             with self.builtin_trap:
-> 2084                 result = fn(*args,**kwargs)
   2085             return result
   2086 

<decorator-gen-106> in matplotlib(self, line)

/usr/local/src/bluemix_jupyter_bundle.v20/notebook/lib/python2.7/site-packages/IPython/core/magic.pyc in <lambda>(f, *a, **k)
    191     # but it's overkill for just that one bit of state.
    192     def magic_deco(arg):
--> 193         call = lambda f, *a, **k: f(*a, **k)
    194 
    195         if callable(arg):

/usr/local/src/bluemix_jupyter_bundle.v20/notebook/lib/python2.7/site-packages/IPython/core/magics/pylab.pyc in matplotlib(self, line)
     98             print("Available matplotlib backends: %s" % backends_list)
     99         else:
--> 100             gui, backend = self.shell.enable_matplotlib(args.gui)
    101             self._show_matplotlib_backend(args.gui, backend)
    102 

/usr/local/src/bluemix_jupyter_bundle.v20/notebook/lib/python2.7/site-packages/IPython/core/interactiveshell.pyc in enable_matplotlib(self, gui)
   2949                 gui, backend = pt.find_gui_and_backend(self.pylab_gui_select)
   2950 
-> 2951         pt.activate_matplotlib(backend)
   2952         pt.configure_inline_support(self, backend)
   2953 

/usr/local/src/bluemix_jupyter_bundle.v20/notebook/lib/python2.7/site-packages/IPython/core/pylabtools.pyc in activate_matplotlib(backend)
    293     matplotlib.rcParams['backend'] = backend
    294 
--> 295     import matplotlib.pyplot
    296     matplotlib.pyplot.switch_backend(backend)
    297 

/gpfs/fs01/user/sdd1-7e9fd7607be53e-39ca506ba762/.local/lib/python2.7/site-packages/matplotlib/pyplot.py in <module>()
    112 
    113 from matplotlib.backends import pylab_setup
--> 114 _backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
    115 
    116 _IP_REGISTERED = None

/gpfs/fs01/user/sdd1-7e9fd7607be53e-39ca506ba762/.local/lib/python2.7/site-packages/matplotlib/backends/__init__.pyc in pylab_setup()
     30     # imports. 0 means only perform absolute imports.
     31     backend_mod = __import__(backend_name,
---> 32                              globals(),locals(),[backend_name],0)
     33 
     34     # Things we pull in from all backends

/gpfs/fs01/user/sdd1-7e9fd7607be53e-39ca506ba762/.local/lib/python2.7/site-packages/matplotlib/backends/backend_tkagg.py in <module>()
      4 
      5 from matplotlib.externals import six
----> 6 from matplotlib.externals.six.moves import tkinter as Tk
      7 from matplotlib.externals.six.moves import tkinter_filedialog as FileDialog
      8 

/gpfs/fs01/user/sdd1-7e9fd7607be53e-39ca506ba762/.local/lib/python2.7/site-packages/matplotlib/externals/six.pyc in load_module(self, fullname)
    197         mod = self.__get_module(fullname)
    198         if isinstance(mod, MovedModule):
--> 199             mod = mod._resolve()
    200         else:
    201             mod.__loader__ = self

/gpfs/fs01/user/sdd1-7e9fd7607be53e-39ca506ba762/.local/lib/python2.7/site-packages/matplotlib/externals/six.pyc in _resolve(self)
    111 
    112     def _resolve(self):
--> 113         return _import_module(self.mod)
    114 
    115     def __getattr__(self, attr):

/gpfs/fs01/user/sdd1-7e9fd7607be53e-39ca506ba762/.local/lib/python2.7/site-packages/matplotlib/externals/six.pyc in _import_module(name)
     78 def _import_module(name):
     79     """Import module, returning the module after the last dot."""
---> 80     __import__(name)
     81     return sys.modules[name]
     82 

/usr/local/src/bluemix_jupyter_bundle.v20/notebook/lib/python2.7/lib-tk/Tkinter.py in <module>()
     37     # Attempt to configure Tcl/Tk without requiring PATH
     38     import FixTk
---> 39 import _tkinter # If this fails your Python may not be configured for Tk
     40 tkinter = _tkinter # b/w compat for export
     41 TclError = _tkinter.TclError

ImportError: No module named _tkinter
ImportErrorTraceback(最近一次调用上次)
在()
---->1 get_ipython().magic(u'matplotlib inline')
2.
3将matplotlib.pyplot作为plt导入
4#将numpy作为np导入
5.
/魔术中的usr/local/src/bluemix\u jupyter\u bundle.v20/notebook/lib/python2.7/site-packages/IPython/core/interactiveshell.pyc(self,arg\s)
2161 magic_名称,magic_arg_s=arg_s.分区(“”)
2162 magic_name=magic_name.lstrip(prefilter.ESC_magic)
->2163返回自我。运行幻术(幻术名称,幻术参数)
2164
2165     #-------------------------------------------------------------------------
/usr/local/src/bluemix\u jupyter\u bundle.v20/notebook/lib/python2.7/site-packages/IPython/core/interactiveshell.pyc in run\u line\u magic(self,magic\u name,line)
2082 kwargs['local\u ns']=sys.\u getframe(堆栈深度).f\u locals
2083带自建存水弯:
->2084结果=fn(*args,**kwargs)
2085返回结果
2086
在matplotlib中(自身,行)
/usr/local/src/bluemix\u jupyter\u bundle.v20/notebook/lib/python2.7/site-packages/IPython/core/magic.pyc in(f,*a,**k)
191#但这一点对国家来说太过分了。
192 def魔术装饰(arg):
-->193调用=λf,*a,**k:f(*a,**k)
194
195如果可调用(arg):
/matplotlib中的usr/local/src/bluemix\u jupyter\u bundle.v20/notebook/lib/python2.7/site-packages/IPython/core/magics/pylab.pyc(self,line)
98打印(“可用matplotlib后端:%s”%backends\u列表)
99其他:
-->100 gui,后端=self.shell.enable_matplotlib(args.gui)
101 self.\u show\u matplotlib\u后端(args.gui,后端)
102
/启用matplotlib(自我,gui)中的usr/local/src/bluemix\u jupyter\u bundle.v20/notebook/lib/python2.7/site-packages/IPython/core/interactiveshell.pyc
2949 gui,backend=pt.find_gui_和_backend(self.pylab_gui_select)
2950
->2951点激活_matplotlib(后端)
2952 pt.配置内嵌支持(自身、后端)
2953
/激活matplotlib(后端)中的usr/local/src/bluemix\u jupyter\u bundle.v20/notebook/lib/python2.7/site-packages/IPython/core/pylabtools.pyc
293 matplotlib.rcParams['backend']=后端
294
-->295导入matplotlib.pyplot
296 matplotlib.pyplot.switch_后端(后端)
297
/gpfs/fs01/user/sdd1-7e9fd7607be53e-39ca506ba762/.local/lib/python2.7/site-packages/matplotlib/pyplot.py in()
112
113从matplotlib.backends导入pylab_设置
-->114(后端)(mod),新(图形)管理器(manager),如果互动(draw),(show=pylab)设置()
115
116 _IP_注册=无
/gpfs/fs01/user/sdd1-7e9fd7607be53e-39ca506ba762/.local/lib/python2.7/site packages/matplotlib/backends/uuu init_uuu.pyc in pylab_setup()
30#进口。0表示仅执行绝对导入。
31 backend\u mod=\u\u导入\u(backend\u名称,
--->32全局变量(),局部变量(),[backend_name],0)
33
34#我们从所有后端获取的东西
/gpfs/fs01/user/sdd1-7e9fd7607be53e-39ca506ba762/.local/lib/python2.7/site-packages/matplotlib/backends/backend_-tkagg.py in()
4.
5从matplotlib.externals导入六个
---->6从matplotlib.externals.six.moves导入tkinter作为Tk
7从matplotlib.externals.six.moves导入tkinter_文件对话框作为文件对话框
8.
/加载模块中的gpfs/fs01/user/sdd1-7e9fd7607be53e-39ca506ba762/.local/lib/python2.7/site-packages/matplotlib/externals/six.pyc(self,全名)
197 mod=self.\u get\u模块(全名)
198如果存在(模块,移动模块):
-->199 mod=mod.\u resolve()
200其他:
201模块装载机=self
/gpfs/fs01/user/sdd1-7e9fd7607be53e-39ca506ba762/.local/lib/python2.7/site-packages/matplotlib/externals/six.pyc in_resolve(self)
111
112 def_解析(自):
-->113返回导入模块(self.mod)
114
115 def_uugetattr_uu(self,attr):
/gpfs/fs01/user/sdd1-7e9fd7607be53e-39ca506ba762/.local/lib/python2.7/site-packages/matplotlib/externals/six.pyc in_import_模块(名称)
78 def导入模块(名称):
79“导入模块,在最后一个点后返回模块。”“”
--->80 uuu导入uuu(名称)
81返回系统模块[名称]
82
/usr/local/src/bluemix\u jupyter\u bundle.v20/notebook/lib/python2.7/lib-tk/Tkinter.py in()
37#尝试在不需要路径的情况下配置Tcl/Tk
38进口固定电话
--->39导入_tkinter#如果失败,您的Python可能无法配置为Tk
40 tkinter=#t tkinter#b/w出口兼容
41 TclError=\u tkinter.TclError
ImportError:没有名为\u tkinter的模块

因此修复非常简单-我只需使用笔记本中的内核菜单项重新启动内核

我在笔记本电脑上本地运行ipython时也遇到过同样的问题,解决方案是安装tkinter,所以我不希望答案像重启内核那么简单

另一次我收到此错误消息时,重新启动内核不起作用。我必须:

  • 更改spark后端
  • 将笔记本下载到文件中
  • 删除DSX中的笔记本
  • 从下载的笔记本创建新笔记本

datascienceexperience是一项托管服务,因此您没有根用户访问权限。