Как установить tkinter для python 3.8?

У меня Python 3.8 на Ubuntu 16.04.

Я установил python3-tk (он необходим для отображения графиков в matplotlib):

Reading package lists... Done
Building dependency tree       
Reading state information... Done
python3-tk is already the newest version (3.5.1-1).
0 upgraded, 0 newly installed, 0 to remove and 12 not upgraded.

и python3. 8-tk:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
python3.8-tk is already the newest version (3.8.2-1+xenial1).
0 upgraded, 0 newly installed, 0 to remove and 12 not upgraded.

Но не найдено:

$ python3.8 -m tkinter
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/runpy.py", line 184, in _run_module_as_main
    mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
  File "/usr/local/lib/python3.8/runpy.py", line 143, in _get_module_details
    return _get_module_details(pkg_main_name, error)
  File "/usr/local/lib/python3.8/runpy.py", line 110, in _get_module_details
    __import__(pkg_name)
  File "/usr/local/lib/python3.8/tkinter/__init__.py", line 36, in <module>
    import _tkinter # If this fails your Python may not be configured for Tk
ModuleNotFoundError: No module named '_tkinter'

Как правильно установить?

0
задан 5 April 2020 в 10:30

3 ответа

Перекомпилируйте и переустановите python3.8, указав путь к папкам с tcl, tk include и библиотеками.

sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev python-tk python3-tk tk-dev

cd ~/Downloads
wget https://www.python.org/ftp/python/3.8.2/Python-3.8.2.tgz
tar -xvf Python-3.8.2.tgz

cd Python-3.8.2

Отредактируйте файл ./configure следующим образом: замените ... на следующие строки:

  --with-tcltk-includes='-I/usr/include'
  --with-tcltk-libs='-L/usr/lib'

./configure
make -j2    # replace 2 by number of processor cores you have
sudo make install

$ python3.8
Python 3.8.2 (default, May 11 2020, 14:30:03) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tkinter
>>> 

Python 3.8, установленный через apt и pyenv на 16.04 не включает tkinter, как я думаю, или есть какая-то ошибка, которая не позволяет его импортировать. Только перепрошивка помогла. Раньше я использовал 20.04 со встроенной версией Python 3.8, которая поддерживает tkinter только с установкой дополнительных пакетов, как для Python 3.5 16.04.

Также требуется установка python3.8-tk, как сказал Анкур Шарма. Я забыл упомянуть об этом. Но этого недостаточно для 16.04, по крайней мере, в моем случае.

Дополнительное требование из комментария OP:

sudo ./configure --with-tcltk-includes='-I/usr/include -I/usr/include/tcl' --with-tcltk-libs='-L/usr/lib -ltcl -ltk' --enable-optimizations
2
ответ дан 8 May 2020 в 06:51

открыть команду типа терминала

''pip3 install tkintertable''

это может быть pip или pip3 в зависимости от вашей версии python

0
ответ дан 8 May 2020 в 06:53

В Ubuntu 16.04 (удалить python3.8 и tkinter и) установить с помощью ppa:

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt-get install python3.8 python3-tk

В Ubuntu 18.04 и выше:

sudo apt install python3.8 python3-tk
0
ответ дан 11 May 2020 в 15:38

Другие вопросы по тегам:

Похожие вопросы: