Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python3导入错误:没有名为'_特金特';在Ubuntu上_Python_Matplotlib_Tkinter - Fatal编程技术网

Python3导入错误:没有名为'_特金特';在Ubuntu上

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

当前版本的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 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")