it-swarm.com.de

matplotlib error - kein Modul namens tkinter

Ich habe versucht, das matplotlib-Paket über Pycharm IDE unter Windows 10 zu verwenden. Wenn ich diesen Code ausführe:

from matplotlib import pyplot

Ich erhalte folgenden Fehler:

ImportError: No module named 'tkinter'

Ich weiß, dass es in python 2.x Tkinter hieß, aber das ist nicht das Problem - ich habe gerade ein brandneues python 3.5.1 installiert.

BEARBEITEN: Außerdem habe ich versucht, 'tkinter' und 'Tkinter' zu importieren - beides hat nicht funktioniert (beide haben die erwähnte Fehlermeldung zurückgegeben).

174
noamgot
Sudo apt-get install python3-tk

Dann,

>> import tkinter # all fine

Bearbeiten :

Für Windows ist das Problem meines Erachtens, dass Sie das vollständige Python -Paket nicht installiert haben. Da Tkinter sollte mit Python out of box ausgeliefert werden. Siehe: http://www.tkdocs.com/tutorial/install.html

Ich schlage vor, install ipython , das auch leistungsstarke Shell und notwendige Pakete bereitstellt.

198
knh170

sie können verwenden

import matplotlib
matplotlib.use('agg')
import matplotlib.pyplot as plt

wenn Sie tkinter überhaupt nicht verwenden möchten.

Vergessen Sie auch nicht, %matplotlib inline am oberen Rand Ihres Notebooks zu verwenden, wenn Sie einen verwenden.

EDIT: agg ist ein anderes Backend als tkinter für matplotlib.

72
markroxor

Auf Centos unterscheiden sich die Paketnamen und Befehle. Sie müssen Folgendes tun:

Sudo yum install tkinter

Um das Problem zu lösen.

34
razeh

Wenn Sie Fedora verwenden, installieren Sie zuerst tkinter

Sudo dnf install python3-tkinter

Ich glaube nicht, dass Sie danach tkinter importieren müssen. Ich empfehle Ihnen auch, virtualenv zu verwenden

$ python3 -m venv myvenv
$ source myvenv/bin/activate

Und fügen Sie die erforderlichen Pakete mit pip hinzu

18
sage poudel

Fast alle Antworten, die ich nach diesem Problem suchte, besagen, dass Python unter Windows mit bereits installiertem tkinter und tcl geliefert wird, und ich hatte kein Glück, sie mit pip oder actviestate.com herunterzuladen oder zu installieren. Schließlich stellte ich fest, dass ich bei der Installation von python mit dem Binärinstaller das Modul für TCL und tkinter deaktiviert hatte. Daher habe ich das Binär-Installationsprogramm erneut ausgeführt und mich dazu entschlossen, meine python -Version zu ändern, indem ich diese Option auswählte. Dann müssen Sie nichts manuell tun. Wenn Sie zu Ihrem python-Terminal gehen, sollten die folgenden Befehle Ihnen die Version von tkinter anzeigen, die mit Ihrem Python installiert wurde:

import tkinter
import _tkinter
tkinter._test()
17
user58419

Unter CentOS 7 und Python 3.4 lautet der Befehl Sudo yum install python34-tkinter

In Redhat 7.4 mit Python 3.6 lautet der Befehl Sudo yum install rh-python36-python-tkinter

9

Unter Ubuntu, Anfang 2018, gibt es auf Ubuntus (xenial/16.04) normalen Distributionen kein python3.6-tk. Selbst wenn Sie frühere Versionen von python-tk haben, funktioniert dies nicht.

Meine Lösung war, alles mit python 3.5 einzurichten:

 Sudo apt install python3.5-tk
 virtualenv --python=`which python3.5` python-env
 source python-env/bin/activate
 pip install -r requirements.txt

Und jetzt matplotlib kann tkinter finden.

EDIT:

Ich brauchte nur 3.6, und der Trick war:

Sudo apt install tk-dev

und erstelle dann python3.6 neu, nach tk-dev, zB:

./configure
make
make install
7
Josh.F

Führen Sie für Windows-Benutzer das Installationsprogramm erneut aus. Wählen Sie Ändern. Aktivieren Sie das Kontrollkästchen für tcl/tk und IDLE. In der Beschreibung dazu steht "Installiert tkinter"

7
petEEy

Für Windows Benutzer muss das Installationsprogramm nicht erneut heruntergeladen werden. Mach einfach folgendes:

  1. Gehen Sie zum Startmenü und geben Sie Programme und Funktionen,
  2. Wählen Sie die Python-Version (für mich ist es Python 3.6.5 (64-Bit)),
  3. Rechtsklick, drücke Ändern,
  4. Klicken Sie auf Ändern,
  5. Wählen Sie td/tk und IDLE (wodurch tkinter installiert wird) und klicken Sie auf weiter.

Warten Sie auf die Installation und fertig.

5
gdrt

Wenn Sie python 3.6 verwenden, hat dies bei mir funktioniert:

Sudo apt-get install python3.6-tk

anstatt von

Sudo apt-get install python3-tk

Welches funktioniert für andere Versionen von Python3

4
bertucho

Unter CentOS 6.5 mit python 2.7 musste ich Folgendes tun: yum install python27-tkinter

2
user1747134

Manchmal (zum Beispiel in der osgeo4w-Distribution) wird tkinter entfernt.

Versuchen Sie, die matplotlib-Backend-Bearbeitungsdatei matplotlibrc in [python install dir]/matplotlib/mpl-data/matplotlibrc zu ändern, indem Sie den Parameter backend von backend: TkAgg auf etwas ändern andere wie backend: Qt4Agg wie hier beschrieben: http://matplotlib.org/faq/usage_faq.html#what-is-a-backend

2

Möglicherweise haben Sie python aus dem Quellcode installiert. In diesem Fall können Sie python neu kompilieren, wobei tcl/tk unterstützt wird.

  1. Vervollständige und installiere tcl/tk von http://www.tcl.tk/software/tcltk/download.html , ich nehme an, du installierst python um _/home/xxx/local/tcl-tk/_.
_# install tcl
wget -c https://prdownloads.sourceforge.net/tcl/tcl8.6.9-src.tar.gz
tar -xvzf tcl8.6.9-src.tar.gz
cd tcl8.6.9
./configure --prefix=/home/xxx/local/tcl-tk/
make
make install

# install tk
wget -c https://prdownloads.sourceforge.net/tcl/tk8.6.9.1-src.tar.gz
tar -xvzf tk8.6.9.1-src.tar.gz
cd tk8.6.9.1
./configure --prefix=/home/xxx/local/tcl-tk/
make
make install
_
  1. Kompilieren Sie python mit tcl/tk, zum Beispiel:
_# download the source code of python and decompress it first.

cd <your-python-src-dir>
./configure --prefix=/home/xxx/local/python \
 --with-tcltk-includes=/home/xxx/local/tcl-tk/include \
 --with-tcltk-libs=/home/xxx/local/tcl-tk/lib
make 
make install
_
0
qi yuan

Da ich unter Ubuntu Python 3.7 benutze, musste ich folgendes verwenden:

Sudo apt-get install python3.7-tk
0
John