Ошибка matplotlib - нет модуля с именем tkinter

Я попытался использовать пакет matplotlib через Pycharm IDE на Windows 10. когда я запускаю этот код:

from matplotlib import pyplot

Я получаю следующую ошибку:

ImportError: No module named 'tkinter'

Я знаю, что в python 2.x он назывался Tkinter, но это не проблема - я только что установил новый python 3.5.1.

РЕДАКТИРОВАТЬ: кроме того, я также попытался импортировать 'tkinter' и 'Tkinter' - ни один из них не сработал (оба вернули сообщение об ошибке, которое я упомянул).

Ответ 1

sudo apt-get install python3-tk

Затем

>> import tkinter # all fine

Edit

Для Windows, я думаю, проблема в том, что вы не установили полный пакет Python. Так как Tkinter должен быть отправлен с Python из коробки. См.: http://www.tkdocs.com/tutorial/install.html

Я предлагаю установить ipython, который также предоставляет мощные оболочки и необходимые пакеты.

Ответ 2

ты можешь использовать

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

если вы вообще не хотите использовать tkinter.

Также не забудьте использовать %matplotlib inline в верхней части вашего ноутбука, если вы его используете.

РЕДАКТИРОВАТЬ: agg это другой бэкэнд, как tkinter для matplotlib.

Ответ 3

В Centos имена и команды пакетов различны. Вам нужно будет сделать:

sudo yum install tkinter

Чтобы устранить проблему.

Ответ 4

Если вы используете fedora, сначала установите tkinter

sudo dnf install python3-tkinter

Я не думаю, что вам нужно импортировать tkinter впоследствии Я также предлагаю вам использовать virtualenv

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

И добавьте необходимые пакеты с помощью pip

Ответ 5

Почти все ответы, которые я искал по этой проблеме, говорят о том, что Python в Windows поставляется с уже установленными tkinter и tcl, и мне не повезло, пытаясь загрузить или установить их с помощью pip или сайта actviestate.com. В конце концов я обнаружил, что когда я устанавливал python с помощью бинарного установщика, я снял флажок с модуля, связанного с TCL и tkinter. Итак, я снова запустил бинарный установщик и решил изменить версию Python, выбрав эту опцию. Тогда не нужно ничего делать вручную. Если вы зайдете в свой терминал Python, то следующие команды должны показать вам версию tkinter, установленную с вашим Python:

import tkinter
import _tkinter
tkinter._test()

Ответ 6

В CentOS 7 и Python 3.4 команда sudo yum install python34-tkinter

В Redhat 7.4 с Python 3.6 команда выглядит так: sudo yum install rh-python36-python-tkinter

Ответ 7

В Ubuntu, в начале 2018 года, в нормальных дистрибутивах Ubuntu (xenial/16.04) нет python3.6-tk, поэтому даже если у вас есть более ранние версии python-tk это не сработает.

Мое решение было использовать установить все с 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

И теперь matplotlib может найти tkinter.

РЕДАКТИРОВАТЬ:

Мне просто нужно 3,6 после всего, и хитрость была в том, чтобы:

sudo apt install tk-dev

и затем пересоберите python3.6 после tk-dev, например:

./configure
make
make install

Ответ 8

Для пользователей Windows запустите программу установки. Выберите "Изменить". Установите флажок для tcl/tk и IDLE. В описании для этого говорится: "Устанавливает tkinter"

Ответ 9

Если вы используете python 3.6, это сработало для меня:

sudo apt-get install python3.6-tk

вместо

sudo apt-get install python3-tk

Что работает для других версий python3

Ответ 10

Для пользователей Windows нет необходимости снова загружать установщик. Просто сделайте следующее:

  1. Зайдите в меню "Пуск", введите " Программы и компоненты",
  2. Выберите версию Python (для меня это Python 3.6.5 (64-разрядная версия )),
  3. Щелкните правой кнопкой мыши, нажмите Изменить,
  4. Нажмите Изменить,
  5. Выберите td/tk и IDLE (который устанавливает tkinter) и нажмите " Далее".

Ждите установки, и все готово.

Ответ 11

В CentOS 6.5 с python 2.7 мне нужно было сделать: yum install python27-tkinter

Ответ 12

Иногда (например, в дистрибутиве osgeo4w) tkinter удаляется.

Попробуйте изменить файл matplotlibrc для архивации matplotlib, расположенный в [python install dir]/matplotlib/mpl-data/matplotlibrc, изменив параметр backend из backend: TkAgg на что-то другое, подобное backend: Qt4Agg, как описано здесь: http://matplotlib.org/faq/usage_faq.html#what-is-a-backend

Ответ 13

Поскольку я использую Python 3.7 в Ubuntu, мне пришлось использовать:

sudo apt-get install python3.7-tk

Ответ 14

Может быть, вы установили Python из источника. В этом случае вы можете перекомпилировать python с поддержкой tcl/tk.

  1. Завершите и установите tcl/tk с http://www.tcl.tk/software/tcltk/download.html. Я полагаю, вы установили python в /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 с поддержкой tcl/tk, например:
# 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