Ana*_*rak 16 python matplotlib
>>> import matplotlib
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/matplotlib/__init__.py", line 123, in <module>
from . import cbook
ImportError: cannot import name cbook
Run Code Online (Sandbox Code Playgroud)
我找不到解决方案,有人可以帮忙吗?
Sza*_*mbi 18
1.尝试更新matplotlib
python -m pip install -U matplotlib
Run Code Online (Sandbox Code Playgroud)
2.尝试重新安装matplotlib
python -m pip uninstall matplotlib
python -m pip install -U matplotlib
Run Code Online (Sandbox Code Playgroud)
以下代码段打印到控制台的内容是什么?
python -c "import matplotlib"
Run Code Online (Sandbox Code Playgroud)
I hit this issue today due to a bad dependency.
If you have both backports.shutil_get_terminal_size and
backports.functools_lru_cache installed, you can encounter this.
Matplotlib has a brittle workaround for a cyclic import:
# cbook must import matplotlib only within function
# definitions, so it is safe to import from it here.
from . import cbook
Run Code Online (Sandbox Code Playgroud)
Until PR #10483,
matplotlib dependended on backports.functools_lru_cache.
However, ipython depends on backports.shutil_get_terminal_size, and
that package doesn't set up a namespace package
properly.
If you have this problem, you'll see these symptoms:
>>> import backports
<module 'backports.shutil_get_terminal_size' from '/Users/whughes/miniconda2/envs/scratch/lib/python2.7/site-packages/backports/shutil_get_terminal_size/__init__.pyc'>
>>> >import backports.functools_lru_cache
ImportError: No module named functools_lru_cache
Run Code Online (Sandbox Code Playgroud)
The problem with backports.shutil_get_terminal_size is that it
doesn't define a namespace package, so it breaks any other
backports.foo packages.
Reinstalling matplotlib fixes this because it changes the order in
sys.path, putting backports.functools_lru_cache first, and that
package defines a proper namespace.
You can also fix this by reinstalling backports.shutil_get_terminal_size.