2017-02-07 12 views
0

Ich bin nicht in der Lage matplotlib auf this tief Lernen AMI von aws MarktImport tkinter wenn matplotlib Import

import matplotlib.pyplot as plt 

zu importieren und ich bekomme diese Fehlermeldung

ImportError: No module named 'tkinter'

Was ich versucht habe (und die Fehler zurückgegeben):

pip install tkinter 
> No matching distribution found for TKinter 

sudo yum install tkinter 
> No package tkinter available. 
> Error: Nothing to do 
+0

Haben Sie 'sudo yum python-tkinter installieren 'versucht? –

+0

ja, derselbe Fehler wie '' 'sudo yum install tkinter''' –

+0

Läuft Python2 oder Python3? –

Antwort

0

Erste Fundort von matplotlibrc Datei

import matplotlib matplotlib.matplotlib_fname()

u'/usr/local/lib64/python2.7/site-packages/matplotlib/mpl-data/matplotlibrc'

dann auf diese Datei gehen und ändern Sie die aktuelle Konfiguration des Backend backend : agg

Dies löst nicht das Problem der Import Tkinter, aber es erlaubt den Import von pyplot

0

ich vor personnally diese Art von Schwierigkeiten mit tkinter hatte, zu rea lize es erfordert ein 't' in python3 und ein 'T' in python2. so, wenn ich brauche Kompatibilität meine Codes enthalten:

import sys 
if sys.version_info[0]>2: 
    # for Python 3 
    import tkinter as tk 
else: 
    # for Python 2 
    import Tkinter as tk 

Ich hoffe, diese Hilfe

0

Das ist für mich gearbeitet:

import matplotlib 
matplotlib.use('Agg') 
import matplotlib.pylab as plt 

hatte das gleiche Problem auf Python zu neuen matplotlib 2.x nach der Aktualisierung 3.5.x

+0

ja, das ist im Grunde, was ich getan habe. Außer, ich habe das nur in der Matplotlib-Datei eingestellt. Überprüfen Sie meine Antwort –

+0

Ich dachte, dies könnte bequemer als eine Datei ändern. Es ist auch eine Lösung, die nur das Backend in diesem bestimmten Skript ändert, nicht wahr? Soweit ich Ihre Lösung verstehe, würde es das Backend global für alle Skripte ändern, bis Sie die Matplotlib-Datei erneut ändern. –

+0

Ja, wenn das Ziel nur darin bestand, das Backend für dieses Skript zu ändern, wäre deine Antwort am besten. Ich fand jedoch, dass meine Antwort am besten für mich funktionierte, da ich in mehreren Skripts in einem Projekt auf diesen Fehler stieß. –