我尝试在windows 10上通过Pycharm IDE使用matplotlib包。 当我运行这段代码时:

from matplotlib import pyplot

我得到以下错误:

ImportError: No module named 'tkinter'

我知道在python2中。它被称为Tkinter,但这不是问题-我只是安装了一个全新的python 3.5.1。

编辑:此外,我还尝试导入'tkinter'和'tkinter' -这两个都不工作(都返回了我提到的错误消息)。


当前回答

如果你使用的是fedora,那么首先安装tkinter

sudo dnf install python3-tkinter

我认为你之后不需要导入tkinter 我也建议你使用virtualenv

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

并使用pip添加必要的包

其他回答

在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个,诀窍是:

sudo apt install tk-dev

然后在tk-dev之后重新构建python3.6,例如:

./configure
make
make install

在Centos上,包名和命令是不同的。你需要做的是:

sudo yum install tkinter

解决问题。

如果你使用的是python 3.6,这对我来说是有效的:

sudo apt-get install python3.6-tk

而不是

sudo apt-get install python3-tk

哪个适用于其他版本的python3

你可以使用

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

如果你根本不想使用tkinter。

此外,如果使用笔记本,不要忘记在笔记本顶部使用%matplotlib inline。

编辑:agg是一个不同的后端像tkinter为matplotlib。

因为我在Ubuntu上使用Python 3.7,所以我必须使用:

sudo apt-get install python3.7-tk