-
Notifications
You must be signed in to change notification settings - Fork 12
Conversation
Or just set no default at all and let matplotlib handle the fallback? |
fair enough, see the last push |
don't actually have a mac to test, but looks about right |
Looks like the build failures are happening because wheel changed its API, I think we worked around that in other feedstocks by pinning wheel. @matthew-brett any chance you can weigh in about this PR? It would be nice to have matplotlib wheels that don't crash when you import pyplot :) |
As a Mac user, it makes me nervous. The TkAgg backend is far inferior in appearance, so it means a shift from default fairly pretty to default ugly. Some people do use virtualenvs, but they tend to be more advanced users who can work out what to do. The Python venv module solves the problem. I guess all current Mac installers include Tk? (Python.org, homebrew, macports) |
the osx backend is the first one tried (see https://github.com/matplotlib/matplotlib/blob/63fe909eaefe4f4c9639177f67792af6984f7267/lib/matplotlib/pyplot.py#L193-L195 ) so if it is available and works it get picked. |
Ah - sorry - that's what you get if you ask a lazy person for an opinion :). Yes, that seems reasonable. The downside would be that someone using virtualenvs may be confused as to why their plots went ugly inside the virtualenv. Are y'all warning them about the non-framework builds before backing off to TkAgg? |
Here's what happens in a non-framework build of python when I have matplotlib 3.0.2 installed from source instead of the pip wheel on pypi:
After uninstalling pyqt5, here's what happens:
So no warning, but this is an improvement over crashing, and I guess an improvement over what happened with matplotlib before 3.0 in that now people get a functioning TK backend instead of a subtly broken MacOSX backend on a non-framework python build. |
what do we have to do to the naming to safely replace the wheels? I think this behavior is a reasonable change. |
If you install the matplotlib wheel on a non-framework build of python, setting macosx as the default backend causes in
ImportError
(see #6). Since we can't tell whether or not we're installing into a framework build ahead of time, I think it's safer to set TkAgg as the default backend on macs.