matplotlib hatası - tkinter adlı modül yok


195

Bu kodu çalıştırdığımda Windows 10'da Pycharm IDE üzerinden matplotlib paketini kullanmaya çalıştım:

from matplotlib import pyplot

Aşağıdaki hatayı alıyorum:

ImportError: No module named 'tkinter'

Python 2.x'te Tkinter olarak adlandırıldığını biliyorum, ama sorun değil - yeni bir python 3.5.1 yükledim.

EDIT: Ayrıca, ben de 'tkinter' ve 'Tkinter' almaya çalıştı - bunların hiçbiri çalıştı (her ikisi de bahsettiğim hata iletisini döndürdü).


Eğer tarafından Tkinter ithal ettiniz import Tkinterya import tkinter?
Avión

1
evet, bahsetmeyi unuttum ... aynı hata mesajını aldık
noamgot

ImportError: No module named '_tkinter', please install the python3-tk package?
knh170

@ knh170 hayır, sadece orijinal yazımda gösterilen mesaj.
noamgot

4
sizin gibi görünüyor kullanılan özel yükleme .Rerun piton yükleyici basın değiştirebilir ve daha sonra kene td / tk ve BOŞTA
omilus

Yanıtlar:


221
sudo apt-get install python3-tk

Sonra,

>> import tkinter # all fine

Düzenle :

Windows için sorun, tam bir Python paketi yüklememiş olmanızdır. Tkinter, Python ile birlikte gönderilmelidir. Bkz. Http://www.tkdocs.com/tutorial/install.html

Güçlü kabuk ve gerekli paketleri de sağlayan ipython'u yüklemenizi öneririm .


ÇALIŞIYOR! Teşekkürler! (Mesajınıza koyduğunuz bağlantıdan anakonda
kurdum

3
Eğer bir CentOS kutusundaysanız, komut şu sudo yum install python36u-tkinter.x86_64
şekildedir

Pycharm kullanıyorum ve paket eksik ile ilgili aynı hatayı aldım. Tkinter paketini kurduktan sonra matplotlib iyi çalıştı. Thank you @ knh170
debaonline4u

Venunt python3 kullanarak Ubuntu 18.04 ile çalıştı. Sadece yükleyin: sudo apt-get install python3-tk Sonra test edebilirsiniz python3 kabuk: matplotlib ithalat pyplot
serfer2 13:18 '

1
@ knh170 Tkinter'i pip kullanarak kurabilir miyiz? Bununla ilgili hiçbir şeyi
Scott Yang

99

kullanabilirsiniz

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

tkinterhiç kullanmak istemiyorsanız .

Ayrıca bir %matplotlib inlinedizüstü bilgisayar kullanıyorsanız dizüstü bilgisayarınızın üst kısmında kullanmayı unutmayın .

EDIT: matplotlib için aggfarklı bir arka uç tkinter.


1
Bu güzel, çünkü bir sunucu ile çalışmak nedeniyle X11'e ihtiyacım yok ve var, ancak kurduğum bazı programların matplotlib'e bağımlılığı var.
rien333

2
Fantastik! Herkes bunun nasıl çalıştığını
Matt

2
bir şey çizmek istiyorsanız bu çözüm işe yaramaz
Beyhan Gül

4
Sadece bu cevaba eklemek için: aggGUI olmayan bir arka uçtur, bu yüzden plt.show()herhangi bir etkisi olmayacaktır. Ancak yine de plt.savefig(filename)hızlı hata ayıklama için dosyaya bakabilir ve bakabilirsiniz.
Nico

1
Bu tkinter hatasıyla uğraşmaktan bana zaman kazandırıyor.
annoying_squid

35

Centos'ta paket adları ve komutları farklıdır. Yapmanız gerekenler:

sudo yum install tkinter

Sorunu çözmek için.


31

İçin , Windows kullanıcıları, yükleyiciyi tekrar indirmenize gerek yoktur. Sadece aşağıdakileri yapın:

  1. Başlat menüsüne gidin, Programlar ve Özellikler yazın ,
  2. Python sürümünü seçin (benim için Python 3.6.5 (64 bit) ),
  3. Sağ tıklayın, Değiştir'e basın ,
  4. Değiştir'i tıklayın ,
  5. Seç td / tk ve IDLE (Tkinter yüklemek için) ve tıklama yanındaki .

Kurulum için bekleyin ve işiniz bitti.


4
Teşekkür ederim. Diğerleri arasında en yararlı ve doğru cevaptır. (Tabii ki Windows işletim sistemi kullanıcıları için)
Ruslan K.

20

Bu sorun için aradığım hemen hemen tüm cevaplar, Windows'ta Python'un daha önce yüklü tkinter ve tcl ile geldiğini ve pip veya actviestate.com sitesini kullanarak bunları indirmeye veya yüklemeye çalışırken hiç şansım olmadığını söylüyor. Sonunda ikili yükleyiciyi kullanarak python kurarken, TCL ve tkinter ile ilgili modülün işaretini kaldırdığımı fark ettim. Böylece, ikili yükleyiciyi tekrar çalıştırdım ve bu seçeneği seçerek python sürümümü değiştirmeyi seçtim. Manuel olarak bir şey yapmanıza gerek yok. Python terminalinize giderseniz, aşağıdaki komutlar size Python'unuzla birlikte yüklenen tkinter sürümünü göstermelidir:

import tkinter
import _tkinter
tkinter._test()

1
Doğru. Windows kurulumu, bunun olabileceği tek sistemdir - kendim için olduğu gibi. +1. Bu, Windows yüklemeleri olan kullanıcılar için kesinlikle dikkat çekmeye değer.
marcushobson

18

Fedora kullanıyorsanız, önce tkinter'ı yükleyin

sudo dnf install python3-tkinter

Daha sonra tkinter almanız gerektiğini düşünmüyorum, ayrıca virtualenv kullanmanızı da öneririm

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

Ve pip kullanarak gerekli paketleri ekleyin


10

CentOS 7 ve Python 3.4'te, komut sudo yum install python34-tkinter

Python 3.6 ile Redhat 7.4'te, komut sudo yum install rh-python36-python-tkinter


3
Centos 7 ve Python 3.6'da komutsudo yum install python36u-tkinter.x86_64
Rob Hall

8

Windows kullanıcıları için yükleyiciyi yeniden çalıştırın. Değiştir'i seçin. Tcl / tk ve IDLE kutularını işaretleyin. Bu açıklama "Yükler tkinter" diyor


8

Ubuntu'da, 2018'in başlarında, python3.6-tkubuntu'nun (xenial / 16.04) normal dağılımları yoktur, bu nedenle daha önceki sürümleriniz olsa bile python-tkçalışmaz.

Benim çözüm her şeyi kurmak ile kullanmak oldu python 3.5:

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

Ve şimdi matplotlibbulabilirsin tkinter.

DÜZENLE :

3.6 afterall ihtiyacım vardı ve hile:

sudo apt install tk-dev

ve sonra python3.6 yeniden, sonra tk-dev , örneğin:

./configure
make
make install

3
Güncelleme: Şimdi orada IS bir python3.6-tk! sudo apt install python3.6-tkburada çalışıyor :)
Luis

4

Python 3.6 kullanıyorsanız, bu benim için çalıştı:

sudo apt-get install python3.6-tk

onun yerine

sudo apt-get install python3-tk

Hangi python3 diğer sürümleri için çalışır


4
Ubuntu 16.04'te python3.6-tk paketim yok.
Brooks

@brooks, here here
Ücretsiz Url

Ayrıca Centos'ta yoktu
Rob Hall

Şimdi ubuntu 16.04
Yu-Lin Chen

3

Benim gibi fakir çocuklar için piton 3.7 kullanıyorum . python3.7-tkPakete ihtiyacınız var .

sudo apt install python3.7-tk

$ python
Python 3.7.4 (default, Sep  2 2019, 20:44:09)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tkinter
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'tkinter'
>>> exit()

Not. python3-tkyüklendi. Ama değil python3.7-tk.

$ sudo apt install python3.7-tk
Reading package lists... Done
Building dependency tree
Reading state information... Done
Suggested packages:
  tix python3.7-tk-dbg
The following NEW packages will be installed:
  python3.7-tk
0 upgraded, 1 newly installed, 0 to remove and 34 not upgraded.
Need to get 143 kB of archives.
After this operation, 534 kB of additional disk space will be used.
Get:1 http://ppa.launchpad.net/deadsnakes/ppa/ubuntu xenial/main amd64 python3.7-tk amd64 3.7.4-1+xenial2 [143
kB]
Fetched 143 kB in 0s (364 kB/s)
Selecting previously unselected package python3.7-tk:amd64.
(Reading database ... 256375 files and directories currently installed.)
Preparing to unpack .../python3.7-tk_3.7.4-1+xenial2_amd64.deb ...
Unpacking python3.7-tk:amd64 (3.7.4-1+xenial2) ...
Setting up python3.7-tk:amd64 (3.7.4-1+xenial2) ...

Yükledikten sonra hepsi iyi.

$ python3
Python 3.7.4 (default, Sep  2 2019, 20:44:09)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tkinter
>>> exit()

2

Python 2.7 ile CentOS 6.5'te şunları yapmam gerekiyordu: yum install python27-tkinter


1
"Hiçbir paket python27-tkinter mevcut değil."
proutray

2

Bazen (örneğin osgeo4w dağılımında) tkinter çıkarılır.

Arka parametresini burada açıklandığı gibi başka bir şeye değiştirirken bulunan matplotlib arka ucunu düzenleme matplotlibrc dosyasını değiştirmeyi deneyin : http://matplotlib.org/faq/usage_faq.html#what-is-a-backend[python install dir]/matplotlib/mpl-data/matplotlibrcbackend: TkAggbackend: Qt4Agg


1

Ubuntu üzerinde Python 3.7 kullandığım için kullanmak zorunda kaldım:

sudo apt-get install python3.7-tk

0

Belki de python'u kaynaktan yüklediniz. Bu durumda, python'u tcl / tk destekli olarak yeniden derleyebilirsiniz.

  1. Http://www.tcl.tk/software/tcltk/download.html adresinden tcl / tk dosyasını doldurun ve yükleyin, python'u yüklediğinizi varsayalım /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. Python'u tcl / tk destekli olarak yeniden derleyin, örneğin:
# 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

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.