我正在使用Python 2.7.5+运行Ubuntu 13.10,每当我尝试导入matplotlib
包时,都会出错。具体来说,我的测试脚本只有以下代码:
#!/usr/bin/python
import matplotlib.pyplot as plt
当我运行测试脚本时,这是错误:
Traceback (most recent call last):
File "./test.py", line 2, in <module>
import matplotlib.pyplot as plt
File "/usr/local/lib/python2.7/dist-packages/matplotlib/pyplot.py", line 27, in <module>
import matplotlib.colorbar
File "/usr/local/lib/python2.7/dist-packages/matplotlib/colorbar.py", line 34, in <module>
import matplotlib.collections as collections
File "/usr/local/lib/python2.7/dist-packages/matplotlib/collections.py", line 27, in <module>
import matplotlib.backend_bases as backend_bases
File "/usr/local/lib/python2.7/dist-packages/matplotlib/backend_bases.py", line 56, in <module>
import matplotlib.textpath as textpath
File "/usr/local/lib/python2.7/dist-packages/matplotlib/textpath.py", line 22, in <module>
from matplotlib.mathtext import MathTextParser
File "/usr/local/lib/python2.7/dist-packages/matplotlib/mathtext.py", line 26, in <module>
from six import unichr
ImportError: cannot import name unichr
知道我做错了吗?
答案 0 :(得分:3)
您显然有six
的过时版本。
{1.4}版本中添加了unichr
包装器,如CHANGES
中所示。我不确定1.4.0什么时候发布,但是issue #25的修复程序是在2013-05-18提交的,所以...之后的某个时间。
所以,如果你print(six.__version__)
,并且它的值小于'1.4.0',那就是你的问题。
根据您是使用pip
安装软件包还是使用系统的软件包管理器安装软件包,解决方案将类似于以下方法之一:
$ pip install --upgrade six
$ apt-get install six
$ brew install --upgrade six
......等等。
但同时,matplotlib
不应该要求1.3,而是使用1.4中仅提供的功能。您的GitHub问题matplotlib#3538应该可以解决此问题。