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

from matplotlib import pyplot

我得到以下错误:

ImportError: No module named 'tkinter'

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

编辑:此外,我还尝试导入'tkinter'和'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个,诀窍是:

sudo apt install tk-dev

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

./configure
make
make install

其他回答

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

pip install tkinter

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

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

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

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

sudo dnf install python3-tkinter

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

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

并使用pip添加必要的包

也许你从源代码安装了python。在这种情况下,您可以重新编译支持tcl/tk的python。

从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

使用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

在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 6.5和python 2.7上,我需要做:yum安装python27-tkinter