无法导入 matplotlib.pyplot
Posted
技术标签:
【中文标题】无法导入 matplotlib.pyplot【英文标题】:Unable to import matplotlib.pyplot 【发布时间】:2017-11-03 05:45:06 【问题描述】:我在 CentOS 6.5 中安装了 python 2.7.10。然后我使用 pip 安装了 matplotlib。但是,尝试导入 matplotlib.pyplot 时出现以下错误。
import matplotlib.pyplot
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/site-packages/matplotlib/pyplot.py", line 115, in <module>
_backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
File "/usr/local/lib/python2.7/site-packages/matplotlib/backends/__init__.py", line 32, in pylab_setup
globals(),locals(),[backend_name],0)
File "/usr/local/lib/python2.7/site-packages/matplotlib/backends/backend_tkagg.py", line 6, in <module>
from six.moves import tkinter as Tk
File "/usr/local/lib/python2.7/site-packages/six.py", line 203, in load_module
mod = mod._resolve()
File "/usr/local/lib/python2.7/site-packages/six.py", line 115, in _resolve
return _import_module(self.mod)
File "/usr/local/lib/python2.7/site-packages/six.py", line 82, in _import_module
__import__(name)
File "/usr/local/lib/python2.7/lib-tk/Tkinter.py", line 39, in <module>
import _tkinter # If this fails your Python may not be configured for Tk
ImportError: No module named _tkinter
tkinter 似乎已安装。 "已安装包 tkinter-2.6.6-66.el6_8.x86_64 且最新版本"
我在 python2.6/lib-dynload 中有 _tkinter.so 模块,但在 python2.7/lib-dynload 下与 tkinter 没有任何关系。
/usr/lib64/python2.6/lib-dynload/_tkinter.so /usr/local/lib/python2.7/lib-tk/test/test_tkinter
另外,我在 python 中验证了 sys.path 以获得以下信息:
Python 2.7.10 (default, Jun 1 2017, 18:51:46)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-18)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> print '\n'.join(sys.path)
/usr/local/lib/python27.zip
/usr/local/lib/python2.7
/usr/local/lib/python2.7/plat-linux2
/usr/local/lib/python2.7/lib-tk
/usr/local/lib/python2.7/lib-old
/usr/local/lib/python2.7/lib-dynload
/usr/local/lib/python2.7/site-packages
【问题讨论】:
您是如何在 CentOS 6 上获得 Python 2.7 的?或者,如果您不需要 UI,您可以将后端更改为仅在其他导入之前使用import matplotlib;matplotlib.use('agg')
渲染 PNG/PDF(请参阅 What is a backend?)。
@NickT - 我手动安装了 2.7.10。我关注了一些来源,但主要是这个:blog.ruterly.com/2015/12/03/Update-python
***.com/questions/5459444/… 看看这个。这解释了无法导入 tkinter 的问题
【参考方案1】:
这可能是您的 python 库路径有问题。检查在哪里 tkinter 安装,并确保您的 Python 解释器可以使用它。你能从tkinter
导入其他东西吗?
【讨论】:
我添加了一些可能与您所询问的内容相关的更多细节。谢谢。 可能是你的python2.6和python2.7都有包,相互不兼容。为什么不卸载python2.6,这可能会解决你的问题。希望对你有帮助。跨度> 【参考方案2】:尝试安装 tkinter,因为他们说“没有名为 _tkinter 的模块”。 您可以使用该命令执行此操作:
sudo apt-get install python-tk
【讨论】:
apt-get
是为 Debian-likes 准备的,而他的 CentOS 6 将使用 yum
并有不同的软件包名称
@utopia - 如细节中所述,tkinter 似乎已安装。 "已安装包 tkinter-2.6.6-66.el6_8.x86_64 和最新版本"以上是关于无法导入 matplotlib.pyplot的主要内容,如果未能解决你的问题,请参考以下文章
无法从'@angular/forms'导入“导入FormGroup,FormControl [重复]