matplotlib错误 - 没有名为tkinter的模块

时间:2016-03-31 07:42:35

标签: python 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' - 这些都不起作用(都返回了我提到的错误消息)。

任何想法? 提前谢谢

17 个答案:

答案 0 :(得分:190)

sudo apt-get install python3-tk

然后,

>> import tkinter # all fine

修改

对于Windows,我认为问题是你没有安装完整的Python包。因为Tkinter应该带有开箱即用的Python。请参阅:http://www.tkdocs.com/tutorial/install.html

我建议安装ipython,它提供强大的shell和必要的包。

答案 1 :(得分:60)

你可以使用

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

如果您根本不想使用tkinter

如果使用笔记本电脑的顶部,也不要忘记使用%matplotlib inline

编辑:agg是一个不同的后端,例如tkinter,用于matplotlib。

答案 2 :(得分:34)

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

sudo yum install tkinter

解决问题。

答案 3 :(得分:18)

如果您使用的是fedora,请先安装tkinter

sudo dnf install python3-tkinter

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

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

使用pip添加必要的包

答案 4 :(得分:16)

我搜索此问题的几乎所有答案都说Windows上的Python附带了tkinter和tcl已经安装,我没有运气尝试使用pip或actviestate.com网站下载或安装它们。我最终发现,当我使用二进制安装程序安装python时,我取消选中了与TCL和tkinter相关的模块。所以,我再次运行二进制安装程序并选择修改我的python版本,这次选择此选项。无需手动执行任何操作。如果你去你的python终端,那么以下命令应该显示你用Python安装的tkinter的版本:

import tkinter
import _tkinter
tkinter._test()

答案 5 :(得分:9)

在CentOS 7和Python 3.4上,命令为sudo yum install python34-tkinter

在Redhat 7.4上使用Python 3.6,命令为sudo yum install rh-python36-python-tkinter

答案 6 :(得分:7)

在Ubuntu,2018年初,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

答案 7 :(得分:6)

对于Windows用户,请重新运行安装程序。选择修改。选中tcl / tk和IDLE框。对此的描述表示"安装tkinter"

答案 8 :(得分:4)

如果您使用的是python 3.6,这对我有用:

sudo apt-get install python3.6-tk

而不是

sudo apt-get install python3-tk

适用于其他版本的python3

答案 9 :(得分:2)

有时(例如在osgeo4w发行版中)删除了tkinter。

尝试更改位于[python install dir]/matplotlib/mpl-data/matplotlibrc的matplotlib后端编辑 matplotlibrc 文件,将后端参数从backend: TkAgg更改为backend: Qt4Agg之类的其他内容如下所述:http://matplotlib.org/faq/usage_faq.html#what-is-a-backend

答案 10 :(得分:2)

对于使用 python 3.7 的像我这样的穷人。您需要python3.7-tk软件包。

sudo apt install python3.7-tk

$ python
Python 3.7.4 (default, Sep  2 2019, 20:44:09)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tkinter
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'tkinter'
>>> exit()

注意。 python3-tk已安装。但不是python3.7-tk

$ sudo apt install python3.7-tk
Reading package lists... Done
Building dependency tree
Reading state information... Done
Suggested packages:
  tix python3.7-tk-dbg
The following NEW packages will be installed:
  python3.7-tk
0 upgraded, 1 newly installed, 0 to remove and 34 not upgraded.
Need to get 143 kB of archives.
After this operation, 534 kB of additional disk space will be used.
Get:1 http://ppa.launchpad.net/deadsnakes/ppa/ubuntu xenial/main amd64 python3.7-tk amd64 3.7.4-1+xenial2 [143
kB]
Fetched 143 kB in 0s (364 kB/s)
Selecting previously unselected package python3.7-tk:amd64.
(Reading database ... 256375 files and directories currently installed.)
Preparing to unpack .../python3.7-tk_3.7.4-1+xenial2_amd64.deb ...
Unpacking python3.7-tk:amd64 (3.7.4-1+xenial2) ...
Setting up python3.7-tk:amd64 (3.7.4-1+xenial2) ...

安装后,一切正常。

$ python3
Python 3.7.4 (default, Sep  2 2019, 20:44:09)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tkinter
>>> exit()

答案 11 :(得分:2)

对于 Windows 用户,无需再次下载安装程序。只需执行以下操作:

  1. 转到开始菜单,输入程序和功能
  2. 选择Python版本(对我而言 Python 3.6.5(64位)),
  3. 右键单击,按更改
  4. 点击修改
  5. 选择 td / tk和IDLE (安装tkinter)并点击下一步
  6. 等待安装,你就完成了。

答案 12 :(得分:2)

在使用python 2.7的CentOS 6.5上我需要做:yum install python27-tkinter

答案 13 :(得分:0)

由于我在Ubuntu上使用Python 3.7,因此不得不使用:

sudo apt-get install python3.7-tk

答案 14 :(得分:0)

也许您从源代码安装了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

答案 15 :(得分:0)

我在Win x86 / 64上也遇到了同样的问题,因为我的自定义Python3.7安装不包含Tcl软件包,因此只需修改或重新安装python

https://www.python.org/downloads/release/python-370/

enter image description here

答案 16 :(得分:0)

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

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

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

应该解决错误