Python3导入错误:没有名为'_特金特';在Ubuntu上
当前版本的Python3是3.5.2,当我导入matplotlib时,它返回了以下错误Python3导入错误:没有名为'_特金特';在Ubuntu上,python,matplotlib,tkinter,Python,Matplotlib,Tkinter,当前版本的Python3是3.5.2,当我导入matplotlib时,它返回了以下错误 >>> import matplotlib.pyplot as plt Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/lib/python3.5/site-packages/matplotlib/pyplot.py", line 1
>>> import matplotlib.pyplot as plt
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.5/site-packages/matplotlib/pyplot.py", line 115, in <module>
_backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
File "/usr/local/lib/python3.5/site-packages/matplotlib/backends/__init__.py", line 32, in pylab_setup
globals(),locals(),[backend_name],0)
File "/usr/local/lib/python3.5/site-packages/matplotlib/backends/backend_tkagg.py", line 6, in <module>
from six.moves import tkinter as Tk
File "/usr/local/lib/python3.5/site-packages/six.py", line 92, in __get__
result = self._resolve()
File "/usr/local/lib/python3.5/site-packages/six.py", line 115, in _resolve
return _import_module(self.mod)
File "/usr/local/lib/python3.5/site-packages/six.py", line 82, in _import_module
__import__(name)
File "/usr/local/lib/python3.5/tkinter/__init__.py", line 35, in <module>
import _tkinter # If this fails your Python may not be configured for Tk
ImportError: No module named '_tkinter'
操作系统是Ubuntu 14.04
我认为这是Python3上没有配置TK的原因,但我不确定。很多人说我应该用tk重建和重新安装Python3,但是我认为这不是解决这个问题的好方法
如何解决此问题?如果matplotlib后端出现问题,请尝试选择其他后端。
Matplotlib满足许多不同的场景和用途。
在Linux上,我使用以下代码来选择哪个后端可用并首先工作
import matplotlib
gui_env = ['TKAgg','GTKAgg','Qt4Agg','WXAgg']
for gui in gui_env:
try:
matplotlib.use(gui,warn=False, force=True)
from matplotlib import pyplot as plt
break
except:
continue
或如果要创建图像文件而不是显示它
使用:
编辑:根据你的评论,试试这个,看看你是否得到了一个有效的结果
import matplotlib
gui_env = [i for i in matplotlib.rcsetup.interactive_bk]
print ("I will test for", gui_env)
for gui in gui_env:
print ("testing", gui)
try:
matplotlib.use(gui,warn=False, force=True)
from matplotlib import pyplot as plt
print (" ",gui, "Is Available")
plt.plot([1.5,2.0,2.5])
fig = plt.gcf()
fig.suptitle(gui)
plt.show()
print ("Using ..... ",matplotlib.get_backend())
except:
print (" ",gui, "Not found")
你试过用
pip
安装它吗?@moritzg,要求已经满足:tkinter在/usr/local/lib/python3.5/site软件包中
好吧sudo apt get install python3 tk
?@moritzg,在检查路径之前已经安装好了。。您的错误“/usr/local/lib/python3.5/tkinter/\uuuu init\uuuuu.py”
和您的安装要求已经得到满足:tkinter在/usr/local/lib/python3.5/site packages
中,而不是在python3.5中,但是,它正在尝试在python3.5中找到它,它返回了ImportError:没有名为“wx”的模块。。。。ImportError:Matplotlib后端_wx和后端_wxagg要求wxPython>=2.8.12换句话说,您的系统上没有测试过的4个常见交互后端中的任何一个!你正在运行Linux,不是吗?是的,Ubuntu服务器14.04。“WebAgg”,“nbAgg”是可用的。如果只有这两个可用的话,那你的Linux盒子真是太疯狂了
import matplotlib
gui_env = ['TKAgg','GTKAgg','Qt4Agg','WXAgg']
for gui in gui_env:
try:
matplotlib.use(gui,warn=False, force=True)
from matplotlib import pyplot as plt
break
except:
continue
matplotlib.use('agg')
from matplotlib import pyplot as plt
import matplotlib
gui_env = [i for i in matplotlib.rcsetup.interactive_bk]
print ("I will test for", gui_env)
for gui in gui_env:
print ("testing", gui)
try:
matplotlib.use(gui,warn=False, force=True)
from matplotlib import pyplot as plt
print (" ",gui, "Is Available")
plt.plot([1.5,2.0,2.5])
fig = plt.gcf()
fig.suptitle(gui)
plt.show()
print ("Using ..... ",matplotlib.get_backend())
except:
print (" ",gui, "Not found")