web-dev-qa-db-ja.com

matplotlibエラー - tkinterという名前のモジュールがありません

私はこのコードを実行するときにWindows 10上でPycharm IDEを介してmatplotlibパッケージを使用しようとしました:

from matplotlib import pyplot

次のようなエラーが表示されます。

ImportError: No module named 'tkinter'

私はpython 2.xでそれがTkinterと呼ばれたことを知っています、しかしそれは問題ではありません - 私はちょうど新しいpython 3.5.1をインストールしました。

編集:さらに、私はまた 'tkinter'と 'Tkinter'をインポートしようとしました - どちらもうまくいきませんでした(両方とも私が述べたエラーメッセージを返しました)。

何か案は?前もって感謝します

162
noamgot
Sudo apt-get install python3-tk

その後、

>> import tkinter # all fine

編集

Windowsの場合、問題はあなたが完全なPythonパッケージをインストールしていないことだと思います。 TkinterはそのままPythonで出荷されるべきです。参照してください: http://www.tkdocs.com/tutorial/install.html

強力なシェルと必要なパッケージも提供する ipython をインストールすることをお勧めします。

184
knh170

あなたが使用することができます

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

tkinterをまったく使用したくない場合.

ノートブックを使用する場合は、ノートブックの一番上に%matplotlib inlineを使用することを忘れないでください。

編集:aggはmatplotlibのtkinterのような異なるバックエンドです。

59
markroxor

Centosでは、パッケージ名とコマンドが異なります。あなたがする必要があります:

Sudo yum install tkinter

問題を解決します。

34
razeh

Fedoraを使っているなら、まずtkinterをインストールしてください。

Sudo dnf install python3-tkinter

後でtkinterをインポートする必要はないと思います

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

そしてpipを使って必要なパッケージを追加します

18
sage poudel

私がこの問題について調べたほとんどすべての答えは、Windows上のPythonにはtkinterとtclが既にインストールされていると言っています。私がバイナリインストーラーを使ってpythonをインストールしていたとき、結局私はTCLとtkinterに関連するモジュールのチェックを外していました。それで、私は再びバイナリインストーラを走らせて、そして今度はこのオプションを選択することによって私のPythonバージョンを修正することを選びました。手動で何もする必要はありません。あなたのPython端末に行った場合、次のコマンドはあなたのPythonにインストールされているtkinterのバージョンを表示するはずです。

import tkinter
import _tkinter
tkinter._test()
14
user58419

CentOS 7およびPython 3.4では、コマンドはSudo yum install python34-tkinterです。

Python 3.6のRedhat 7.4では、コマンドはSudo yum install rh-python36-python-tkinterです。

8

2018年初頭のUbuntuでは、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

そして今matplotlibtkinterを見つけることができます。

_編集_

私はただ3.6のafternlを必要としました、そして、トリックは以下の通りでした:

Sudo apt install tk-dev

そしてpython3.6、aftertk-devを再構築します。例えば:

./configure
make
make install
7
Josh.F

Windowsユーザーの場合は、インストーラを再実行してください。変更を選択します。 tcl/tkとIDLEのボックスをチェックしてください。これの説明は「インストールtkinter」を言います

6
petEEy

あなたがPython 3.6を使っているなら、これは私のために働いた:

Sudo apt-get install python3.6-tk

の代わりに

Sudo apt-get install python3-tk

これは他のバージョンのpython3でも動きます

4
bertucho

Python 2.7を搭載したCentOS 6.5では、yum install python27-tkinterを実行する必要がありました。

2
user1747134

時々(たとえばosgeo4wディストリビューションで)tkinterが削除されます。

Matplotlibバックエンド編集を変更してみてください[python install dir]/matplotlib/mpl-data/matplotlibrc変更にあるmatplotlibrcファイルbackendbackend: TkAggからbackend: Qt4Aggのような他のものへのパラメーターはここで説明されています: http://matplotlib.org/faq/usage_faq.html#what-is-a-backend

2

Windows usersの場合は、インストーラを再度ダウンロードする必要はありません。次のようにしてください。

  1. スタートメニューに移動し、 プログラムと機能 と入力します。
  2. Pythonのバージョンを選択してください(私にとっては Python 3.6.5(64-bit) )。
  3. 右クリックし、 変更 を押します。
  4. 変更 をクリック
  5. td/tkおよびIDLE (これはtkinterをインストールします)を選択し、 next をクリックします。

インストールを待つだけで完了です。

1
gdrt

たぶんあなたはソースからpythonをインストールしました。この場合、サポートされているtcl/tkでpythonを再コンパイルすることができます。

  1. http://www.tcl.tk/software/tcltk/download.html からtcl/tkを順守してインストールしてください。私はあなたが/home/xxx/local/tcl-tk/にpythonをインストールしたとします。
# 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. Tcl/tkをサポートしたpythonを再コンパイルしてください。例えば:
# 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
0
qi yuan

私はUbuntuでPython 3.7を使っているので、私は使わなければなりませんでした:

Sudo apt-get install python3.7-tk
0
John