【发布时间】: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
-
stackoverflow.com/questions/5459444/… 看看这个。这解释了无法导入 tkinter 的问题
标签: python python-2.7 matplotlib tkinter