matplotlib error - no module named tkinter
我试图在Windows 10上通过Pycharm IDE使用matplotlib软件包。
当我运行此代码时:
1 | from matplotlib import pyplot |
我收到以下错误:
1 | ImportError: No module named 'tkinter' |
我知道在python 2.x中它叫做Tkinter,但这不是问题-我刚安装了一个全新的python 3.5.1。
编辑:此外,我还尝试导入'tkinter'和'Tkinter'-这些都不起作用(都返回了我提到的错误消息)。
1 | sudo apt-get install python3-tk |
然后,
1 | >> import tkinter # all fine |
编辑:
对于Windows,我认为问题是您没有安装完整的Python软件包。由于Tkinter应该随Python一起提供。请参阅:http://www.tkdocs.com/tutorial/install.html
我建议安装ipython,它也提供功能强大的shell和必要的软件包。
您可以使用
1 2 3 | import matplotlib matplotlib.use('agg') import matplotlib.pyplot as plt |
如果您根本不想使用
另外,如果使用一个,请不要忘记在笔记本顶部使用
编辑:
在Centos上,软件包名称和命令是不同的。您需要执行以下操作:
1 | sudo yum install tkinter |
解决问题。
我搜索此问题的几乎所有答案都说Windows上的Python随附了tkinter和tcl,并且我没有运气尝试使用pip或actviestate.com网站下载或安装它们。我最终发现,当我使用二进制安装程序安装python时,我没有选中与TCL和tkinter相关的模块。因此,我再次运行二进制安装程序,并选择这次通过选择此选项来修改我的python版本。然后,无需手动执行任何操作。如果您转到python终端,则以下命令应显示随Python安装的tkinter版本:
1 2 3 | import tkinter import _tkinter tkinter._test() |
如果您使用的是fedora,请先安装tkinter
1 | sudo dnf install python3-tkinter |
我认为您以后无需导入tkinter
我也建议您使用virtualenv
1 2 | $ python3 -m venv myvenv $ source myvenv/bin/activate |
并使用pip添加必要的软件包
在CentOS 7和Python 3.4上,命令为
在具有Python 3.6的Redhat 7.4上,命令为
在Ubuntu上,2018年初,Ubuntu的(xenial / 16.04)正态发行版上没有
我的解决方案是使用
1 2 3 4 | sudo apt install python3.5-tk virtualenv --python=`which python3.5` python-env source python-env/bin/activate pip install -r requirements.txt |
现在
编辑:
毕竟我只需要3.6,而诀窍是:
1 | sudo apt install tk-dev |
然后在
1 2 3 | ./configure make make install |
对于Windows用户,请重新运行安装程序。选择修改。选中tcl / tk和IDLE框。此说明显示为" Installing tkinter"
对于Windows用户,无需再次下载安装程序。只需执行以下操作:
等待安装,您就完成了。
如果您使用的是python 3.6,则对我有用:
1 | sudo apt-get install python3.6-tk |
代替
1 | sudo apt-get install python3-tk |
适用于其他版本的python3
有时(例如在osgeo4w发行版中)tkinter被删除。
尝试将位于
在带有python 2.7的CentOS 6.5上,我需要做:
也许您从源代码安装了python。在这种情况下,您可以在支持tcl / tk的情况下重新编译python。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | # 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 2 3 4 5 6 7 8 | # 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,因此必须使用:
1 | sudo apt-get install python3.7-tk |