Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork7.9k
Closed
Milestone
Description
Bug report
Bug summary
Tests are supposed to run with Agg backend, but if you have a different backend configured, and your environment does not have its dependencies available, the tests try to load it instead.
Asmatplotlib.use('agg', force=True)
is called first, this implies it should be ignoring failure to load the configured backend, since it's not Agg
Code for reproduction
$ conda create -n test python=3.6 numpy # etc., but not Qt$ conda activate test$ pip install -e .$ vim ~/.config/matplotlib/matplotlibrc # Set backend to Qt5Agg$ pytest -n4
Actual outcome
___________________________________________________________ ERROR collecting test session ____________________________________________________________/var/container/conda/envs/mpl36npm/lib/python3.6/site-packages/_pytest/config/__init__.py:495: in _importconftest return self._conftestpath2mod[key]E KeyError: PosixPath('/home/elliott/code/matplotlib/lib/matplotlib/tests/conftest.py')During handling of the above exception, another exception occurred:/var/container/conda/envs/mpl36npm/lib/python3.6/site-packages/py/_path/common.py:383: in visit for x in Visitor(fil, rec, ignore, bf, sort).gen(self):/var/container/conda/envs/mpl36npm/lib/python3.6/site-packages/py/_path/common.py:435: in gen for p in self.gen(subdir):/var/container/conda/envs/mpl36npm/lib/python3.6/site-packages/py/_path/common.py:424: in gen dirs = self.optsort([p for p in entries/var/container/conda/envs/mpl36npm/lib/python3.6/site-packages/py/_path/common.py:425: in <listcomp> if p.check(dir=1) and (rec is None or rec(p))])/var/container/conda/envs/mpl36npm/lib/python3.6/site-packages/_pytest/nodes.py:506: in _recurse ihook = self._gethookproxy(dirpath)/var/container/conda/envs/mpl36npm/lib/python3.6/site-packages/_pytest/nodes.py:487: in _gethookproxy my_conftestmodules = pm._getconftestmodules(fspath)/var/container/conda/envs/mpl36npm/lib/python3.6/site-packages/_pytest/config/__init__.py:473: in _getconftestmodules mod = self._importconftest(conftestpath)/var/container/conda/envs/mpl36npm/lib/python3.6/site-packages/_pytest/config/__init__.py:520: in _importconftest self.consider_conftest(mod)/var/container/conda/envs/mpl36npm/lib/python3.6/site-packages/_pytest/config/__init__.py:575: in consider_conftest self.register(conftestmodule, name=conftestmodule.__file__)/var/container/conda/envs/mpl36npm/lib/python3.6/site-packages/_pytest/config/__init__.py:379: in register ret = super().register(plugin, name)/var/container/conda/envs/mpl36npm/lib/python3.6/site-packages/pluggy/manager.py:121: in register hook._maybe_apply_history(hookimpl)/var/container/conda/envs/mpl36npm/lib/python3.6/site-packages/pluggy/hooks.py:336: in _maybe_apply_history res = self._hookexec(self, [method], kwargs)/var/container/conda/envs/mpl36npm/lib/python3.6/site-packages/pluggy/manager.py:87: in _hookexec return self._inner_hookexec(hook, methods, kwargs)/var/container/conda/envs/mpl36npm/lib/python3.6/site-packages/pluggy/manager.py:81: in <lambda> firstresult=hook.spec.opts.get("firstresult") if hook.spec else False,lib/matplotlib/testing/conftest.py:23: in pytest_configure matplotlib.use('agg', force=True)lib/matplotlib/__init__.py:1144: in use from matplotlib import pyplot as pltlib/matplotlib/pyplot.py:2327: in <module> switch_backend(rcParams["backend"])lib/matplotlib/pyplot.py:259: in switch_backend class backend_mod(matplotlib.backend_bases._Backend):lib/matplotlib/pyplot.py:260: in backend_mod locals().update(vars(importlib.import_module(backend_name)))/var/container/conda/envs/mpl36npm/lib/python3.6/importlib/__init__.py:126: in import_module return _bootstrap._gcd_import(name[level:], package, level)lib/matplotlib/backends/backend_qt5agg.py:11: in <module> from .backend_qt5 import (lib/matplotlib/backends/backend_qt5.py:16: in <module> import matplotlib.backends.qt_editor.figureoptions as figureoptionslib/matplotlib/backends/qt_editor/figureoptions.py:11: in <module> from matplotlib.backends.qt_compat import QtGuilib/matplotlib/backends/qt_compat.py:173: in <module> raise ImportError("Failed to import any qt binding")E ImportError: Failed to import any qt binding============================================================== short test summary info ===============================================================ERROR - ImportError: Failed to import any qt binding!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Matplotlib version
- Operating system: Fedora 31
- Matplotlib version: master4a143b9
- Matplotlib backend (
print(matplotlib.get_backend())
): Qt5Agg - Python version: 3.6.10
Metadata
Metadata
Assignees
Labels
No labels