Closed dan-blanchard closed 1 year ago
The whole point of the metapackage is to be matplotlib-base + the pyqt backend?
It's pretty confusing from a user standpoint that if you have an environment file from macOS that includes both pyarrow and matplotlib pinned to their latest versions, that will solve fine on macOS, but when you share that with a Linux user, it will not solve because qt conflicts with pyarrow.
I get that, but there's not a lot we can do. The original matplotlib
package, going back as far as Anaconda defaults, was made to include the PyQt backend. We can't change that without breaking every user that expects conda install matplotlib
to give them an environment that includes matplotlib with a fully functioning PyQt
backend. And it would be really confusing to have conda install -c defaults matplotlib
and conda install -c conda-forge matplotlib
result in very different experiences.
In conda-forge, we decided to introduce matplotlib-base
that gave the the bare essential matplotlib install that users can then add things to (wxpython, gtk, inline, whatever they want), without changing the previous matplotlib
package.
IMO, the real solution is to resolve the incompatibility between pyarrow and Qt, but that's outside my wheelhouse.
Solution to issue cannot be found in the documentation.
Issue
This package currently installs
pyqt
on Linux, which is both unnecessary for a lot of use cases (since people can use different backends), and leads to conflicts with common packages due topyqt
's dependencies.For example, you cannot currently install both
pyarrow
with its latest version (12) andmatplotlib
to 3.7.1 because theqt
's version pin conflicts withpyarrow
's.If I install both
matplotlib-base
andmatplotlib-inline
instead, I can successfully draw plots in Jupyter and use the latest version ofpyarrow
, so the inclusion ofpyqt
in this metapackage feels a bit unnecessary.Installed packages
Environment info