尝试导入Tkinter时遇到此错误
Python 2.7.13 (v2.7.13:a06454b1afa1, Dec 17 2016, 20:53:40) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import Tkinter
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "Tkinter.py", line 3, in <module>
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2TkAgg
File "C:\Python27\lib\site-packages\matplotlib\backends\backend_tkagg.py", line 7, in <module>
from six.moves import tkinter_filedialog as FileDialog
File "C:\Python27\lib\site-packages\six.py", line 203, in load_module
mod = mod._resolve()
File "C:\Python27\lib\site-packages\six.py", line 115, in _resolve
return _import_module(self.mod)
File "C:\Python27\lib\site-packages\six.py", line 82, in _import_module
__import__(name)
File "C:\Python27\lib\lib-tk\FileDialog.py", line 12, in <module>
from Dialog import Dialog
File "C:\Python27\lib\lib-tk\Dialog.py", line 4, in <module>
from Tkinter import _cnfmerge
ImportError: cannot import name _cnfmerge
我不确定这里发生了什么,但我认为这可能与numpy有关。
答案 0 :(得分:1)
File "Tkinter.py", line 3, in <module>
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2TkAgg
真正的Tkinter.py当然不包含对matplotlib的任何引用。在Python的搜索路径上有另一个具有相同名称的文件,它会影响真实模块。
答案 1 :(得分:0)
我正在python3 + tkinter中构建应用程序,并且遇到了同样的问题。我用“ NavigationToolbar2Tk”替换了“ NavigationToolbar2TkAgg”,并且编译成功。尝试更换它,看看它是否适合您。
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2Tk