web-dev-qa-db-ja.com

ImportError:「_tkinter」というモジュールはありません。python3-tkパッケージをインストールしてください

Sudo apt-get upgradeの後、次のエラーが表示されます。

Python 3.5.2 (default, Nov 23 2017, 16:37:01) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tkinter
Traceback (most recent call last):
  File "/usr/lib/python3.5/tkinter/__init__.py", line 36, in <module>
    import _tkinter
ImportError: No module named '_tkinter'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3.5/tkinter/__init__.py", line 38, in <module>
    raise ImportError(str(msg) + ', please install the python3-tk package')
ImportError: No module named '_tkinter', please install the python3-tk package

python3-tkがインストールされています。私はすでにそれをパージしてインストールしようとしました。何も変更しません。 (興味深いことに、/usr/lib/python3.5/tkinterはプルージング後も存在し続け、手動で削除しても別のエラーが発生するだけでした)

この問題を修正するにはどうすればよいですか?

問題を解決しませんでした:

$ Sudo apt-get install tk8.6-dev
$ Sudo apt-get install python3-tkinter # does not exist
$ Sudo apt-get install python3-tk  # exists and is installed

コメントの回答

$ ls -l /usr/lib/python3.5/tkinter
total 372
-rw-r--r-- 1 root root   1791 Nov 28 17:50 colorchooser.py
-rw-r--r-- 1 root root   1412 Nov 28 17:50 commondialog.py
-rw-r--r-- 1 root root   1493 Nov 28 17:50 constants.py
-rw-r--r-- 1 root root   1568 Nov 28 17:50 dialog.py
-rw-r--r-- 1 root root  11488 Nov 28 17:50 dnd.py
-rw-r--r-- 1 root root  14502 Nov 28 17:50 filedialog.py
-rw-r--r-- 1 root root   6581 Nov 28 17:50 font.py
-rw-r--r-- 1 root root 162249 Nov 28 17:50 __init__.py
-rw-r--r-- 1 root root    148 Nov 28 17:50 __main__.py
-rw-r--r-- 1 root root   3701 Nov 28 17:50 messagebox.py
drwxr-xr-x 2 root root   4096 Nov 30 08:12 __pycache__
-rw-r--r-- 1 root root   1814 Nov 28 17:50 scrolledtext.py
-rw-r--r-- 1 root root  11424 Nov 28 17:50 simpledialog.py
-rw-r--r-- 1 root root  77014 Nov 28 17:50 tix.py
-rw-r--r-- 1 root root  55839 Nov 28 17:50 ttk.py

ディレクトリを移動すると、次の結果が得られます。

$ Sudo mv tkinter tkinter-backup
$ python3
Python 3.5.2 (default, Nov 23 2017, 16:37:01) 
[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>
ImportError: No module named 'tkinter'

詳細情報

$ which python3
/usr/bin/python3

$ apt list python3
Listing... Done
python3/xenial,now 3.5.1-3 AMD64 [installed]
2
Martin Thoma

Python3-tkパッケージは、デフォルトの3.5ではなく、pythonバージョン3.6および3.7をサポートしています。作業がサポートしている場合は、デフォルトのpythonをサポートされているバージョンに変更します。それ以外の場合、バージョン3.5が本当に必要な場合は、サポートファイルを追跡する必要があります。

1
ubfan1

私の場合、"ImportError:No module named '_tkinter'"と同じエラーが発生していましたが、次のことを実行しているにもかかわらず、python3.5でした。-python3-tkおよびtkinter-devのインストール-/usr/lib/python3.5で利用可能なTkinterディレクトリ。

観察されたエラーは、次のファイルからのものでした。

ファイル「/usr/local/lib/python3.5/tkinter/init.py」、35行目のimport _tkinter#これが失敗した場合、Pythonが設定されていない可能性がありますTk

ただし、単に/ usr/bin/python3.5のように/ usr/binからpythonを実行したとき端末から、それは私のために働いた!

要するに、ターミナルから実行されているpythonバージョンにtkinterがインストールおよび構成されていることを確認してください :)

デフォルトのpython2.7とpython3.5が付属するUbuntu16.04がシステムにインストールされています

0
Kaustubh Sable

pythonプログラムでimport Tkinter(大文字のT)を試しましたか?それは私のためにそれをしました。

0
OZ1SEJ