Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork7.9k
Description
Bug report
Bug summary
The_bz2
module is made a dependency in matplotlib 2.2.2. At least up until matplotlib 2.1.1, this was not the case. I believe this is a mistake. Previously, the import ofbz2
(inmatplotlib/cbook/__init__.py
) was made only when needed, inside theto_filehandle()
function. In 2.2.2, this import is moved up to at the top of the file, meaning that it always try to importbz2
and by extension_bz2
, regardless of whether it will be used or not.
This is a problem as_bz2
is not always installed, and not listed as a required dependency of matplotlib. I am able to fix the issue easily by moving the import ofbz2
back down inside of theto_filehandle()
function, or alternatively placing it inside atry
/except
block.
Actual outcome
>>> import matplotlibTraceback (most recent call last): File "<stdin>", line 1, in <module> File "/home/jeppe/Desktop/Desktop/concept_update_test/python/lib/python3.6/site-packages/matplotlib/__init__.py", line 127, in <module> from . import cbook File "/home/jeppe/Desktop/Desktop/concept_update_test/python/lib/python3.6/site-packages/matplotlib/cbook/__init__.py", line 13, in <module> import bz2 File "/home/jeppe/Desktop/Desktop/concept_update_test/python/lib/python3.6/bz2.py", line 23, in <module> from _bz2 import BZ2Compressor, BZ2DecompressorModuleNotFoundError: No module named '_bz2
Matplotlib version
- Operating system: Linux Mint 17.3
- Matplotlib version: 2.2.2
- Python version: 3.6
I have installed both Python and matplotlib from source.