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

from matplotlib import pyplot

我得到以下错误:

ImportError: No module named 'tkinter'

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

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


当前回答

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

sudo apt-get install python3.6-tk

而不是

sudo apt-get install python3-tk

哪个适用于其他版本的python3

其他回答

下载Python安装文件,单击“修改”,然后勾选“tcl/tk”并安装。

安装完成后,进入python安装文件夹(默认为C:\Users*您的用户名*\AppData\Local\Programs\ python \Python39\Lib)。

复制tkinter文件夹并将其粘贴到pycharm项目的lib文件夹中。

错误应该被解决

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

sudo apt-get install python3.6-tk

而不是

sudo apt-get install python3-tk

哪个适用于其他版本的python3

在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

你可以使用

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

如果你根本不想使用tkinter。

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

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

如果你有pip(你可能有),在Windows上打开cmd或powershell,或者在OS X或Linux上打开终端窗口,然后尝试这样做(如果你在Windows上,请确保python在系统路径中):

pip install tkinter

安装tkinter需要一段时间,然后尝试执行以下代码块:

from tkinter import *
root = Tk()
# Your code goes here 
root.mainloop()

希望这能有所帮助!谢谢你!