私はPython 3.8を持っています。
私は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'
それをインストールする正しい方法は何ですか?
Tcl、tkインクルード、ライブラリを含むフォルダへのパスを指定してpython3.8を再コンパイルして再インストールします。
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
>>>
16.04のapt
およびpyenv
を介してインストールされたPython 3.8には、tkinterが含まれていないと思います。これは、インポートできないバグがあるためです。再構築のみが役立ちました。以前は、組み込みのPython 3.8バージョンで20.04を使用しました。これは、16.04のPython 3.5の場合と同様に、追加パッケージのみをインストールしてtkinterをサポートします。
ankur A Sharmaによると、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
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