私はこのコードを実行するときにWindows 10上でPycharm IDEを介してmatplotlibパッケージを使用しようとしました:
from matplotlib import pyplot
次のようなエラーが表示されます。
ImportError: No module named 'tkinter'
私はpython 2.xでそれがTkinterと呼ばれたことを知っています、しかしそれは問題ではありません - 私はちょうど新しいpython 3.5.1をインストールしました。
編集:さらに、私はまた 'tkinter'と 'Tkinter'をインポートしようとしました - どちらもうまくいきませんでした(両方とも私が述べたエラーメッセージを返しました)。
何か案は?前もって感謝します
Sudo apt-get install python3-tk
その後、
>> import tkinter # all fine
編集 :
Windowsの場合、問題はあなたが完全なPythonパッケージをインストールしていないことだと思います。 TkinterはそのままPythonで出荷されるべきです。参照してください: http://www.tkdocs.com/tutorial/install.html
強力なシェルと必要なパッケージも提供する ipython をインストールすることをお勧めします。
あなたが使用することができます
import matplotlib
matplotlib.use('agg')
import matplotlib.pyplot as plt
tkinter
をまったく使用したくない場合.
ノートブックを使用する場合は、ノートブックの一番上に%matplotlib inline
を使用することを忘れないでください。
編集:agg
はmatplotlibのtkinter
のような異なるバックエンドです。
Centosでは、パッケージ名とコマンドが異なります。あなたがする必要があります:
Sudo yum install tkinter
問題を解決します。
Fedoraを使っているなら、まずtkinterをインストールしてください。
Sudo dnf install python3-tkinter
後でtkinterをインポートする必要はないと思います
$ python3 -m venv myvenv
$ source myvenv/bin/activate
そしてpipを使って必要なパッケージを追加します
私がこの問題について調べたほとんどすべての答えは、Windows上のPythonにはtkinterとtclが既にインストールされていると言っています。私がバイナリインストーラーを使ってpythonをインストールしていたとき、結局私はTCLとtkinterに関連するモジュールのチェックを外していました。それで、私は再びバイナリインストーラを走らせて、そして今度はこのオプションを選択することによって私のPythonバージョンを修正することを選びました。手動で何もする必要はありません。あなたのPython端末に行った場合、次のコマンドはあなたのPythonにインストールされているtkinterのバージョンを表示するはずです。
import tkinter
import _tkinter
tkinter._test()
CentOS 7およびPython 3.4では、コマンドはSudo yum install python34-tkinter
です。
Python 3.6のRedhat 7.4では、コマンドはSudo yum install rh-python36-python-tkinter
です。
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
そして今matplotlib
はtkinter
を見つけることができます。
_編集_ :
私はただ3.6のafternlを必要としました、そして、トリックは以下の通りでした:
Sudo apt install tk-dev
そしてpython3.6、aftertk-dev
を再構築します。例えば:
./configure
make
make install
Windowsユーザーの場合は、インストーラを再実行してください。変更を選択します。 tcl/tkとIDLEのボックスをチェックしてください。これの説明は「インストールtkinter」を言います
あなたがPython 3.6を使っているなら、これは私のために働いた:
Sudo apt-get install python3.6-tk
の代わりに
Sudo apt-get install python3-tk
これは他のバージョンのpython3でも動きます
Python 2.7を搭載したCentOS 6.5では、yum install python27-tkinter
を実行する必要がありました。
時々(たとえば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
Windows usersの場合は、インストーラを再度ダウンロードする必要はありません。次のようにしてください。
インストールを待つだけで完了です。
たぶんあなたはソースからpythonをインストールしました。この場合、サポートされているtcl/tkでpythonを再コンパイルすることができます。
/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
# 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
私はUbuntuでPython 3.7を使っているので、私は使わなければなりませんでした:
Sudo apt-get install python3.7-tk