Closed jiaozhh closed 6 years ago
same here! since the update to matplotlib 3.0.1 I get the exact same error as above.
in mpl3.0.0 we removed the entire 'hold' mechanism, that broke cartopy because they were reading _hold
, so for 3.0.1 we put in as a read-only attribute which breaks basemap who is trying to set it! Does basemap work with 3.0.0 (as the variable name suggests the hold value is being stashed.
Basemap works for 3.0.0 and was prepared for the removal of the hold mechanism by checking for the existence of the attribute
On Fri, Oct 26, 2018 at 9:06 AM Thomas A Caswell notifications@github.com wrote:
in mpl3.0.0 we removed the entire 'hold' mechanism, that broke cartopy because they were reading _hold, so for 3.0.1 we put in as a read-only attribute which breaks basemap who is trying to set it! Does basemap work with 3.0.0 (as the variable name suggests the hold value is being stashed.
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/matplotlib/basemap/issues/435#issuecomment-433400925, or mute the thread https://github.com/notifications/unsubscribe-auth/AARy-AKF-QX6cFjlctQstmLfwCy-Ki5Fks5uowjegaJpZM4X7mew .
Note, this is why I pointed devs to basemap's PRs for this compatibility shim in the hope that cartopy would adopt that approach. Instead, it was deemed more important to change matplotlib rather than update cartopy in a manner than is backwards compatible.
On Fri, Oct 26, 2018 at 9:48 AM Benjamin Root ben.v.root@gmail.com wrote:
Basemap works for 3.0.0 and was prepared for the removal of the hold mechanism by checking for the existence of the attribute
On Fri, Oct 26, 2018 at 9:06 AM Thomas A Caswell notifications@github.com wrote:
in mpl3.0.0 we removed the entire 'hold' mechanism, that broke cartopy because they were reading _hold, so for 3.0.1 we put in as a read-only attribute which breaks basemap who is trying to set it! Does basemap work with 3.0.0 (as the variable name suggests the hold value is being stashed.
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/matplotlib/basemap/issues/435#issuecomment-433400925, or mute the thread https://github.com/notifications/unsubscribe-auth/AARy-AKF-QX6cFjlctQstmLfwCy-Ki5Fks5uowjegaJpZM4X7mew .
sigh, we were trying to unbreak all un-released versions of cartopy.
We were planning to do a release next weekend anyway....
Ah, just stumbled over this one in our CI as well, but I see it is on the radar already.. thanks in advance for fixing. :+1:
I'm confused @WeatherGod : Does this mean we can only use Basemap with MPL 3.0.0 ? This is breaking our unit testing.. We are in the middle of moving to Cartopy.
It means that matplotlib v3.0.1 is incompatible with basemap v1.1.x. You can either use a different version of matplotlib, or an earlier version of basemap.
basemap v1.1.x introduced a backwards-compatible shim to prepare for the upcoming changes in matplotlib v3.0.0, which worked, but cartopy wasn't ready for it. So, matplotlib v3.0.1 tried to fix things for cartopy, but ended up breaking things for basemap. matplotlib v3.0.2 will fix things for everybody while cartopy prepares to put out a new release that should work for all versions of matplotlib.
Thanks.. I am giving a course next week and need to make some decisions. Any idea how close MPL 3.0.2 is? Huge thanks @WeatherGod for all your work in this.. Yet another wake up call for us to move on NOW
I have 3.0.1 and basemap 1.1.0, the problem is still there
I have to say that python has a bad reputation with these ill-managed packages - that is probably the shortcomings of anaconda - R studio never had these issues. I hope python will gradually die and give in to R
This is a issue tracker not for chat please stop posting here
Sent from my iPad
On Nov 25, 2018, at 8:32 PM, jamessong notifications@github.com wrote:
I have to say that python has a bad reputation with these ill-managed packages - that is probably the shortcomings of anaconda - R studio never had these issues. I hope python will gradually die and give in to R
— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.
@jamessong, as I have noted, this issue is specifically the combination of matplotlib v3.0.1 and basemap v1.1.x. This is not a packaging issue. Matplotlib partly introduced a compatibility shim after a feature was removed in v3.0.0 that broke cartopy. That compatibility shim broke basemap. The matplotlib v3.0.2 fixes everything, which is why this issue is now closed.
Same here and after I updated matplotlib 3.0.1 to 3.0.2, the problem was solved.
@jamessong: I have to say that python has a bad reputation with these ill-managed packages - that is probably the shortcomings of anaconda - R studio never had these issues. I hope python will gradually die and give in to R
@WeatherGod I am so very jealous of your unfathomable patience and composure. Even simply considering to answer to something like this is rather heroic.
@jamessong I would not wish being responsible for giving customer support to you on whatever matter on my worst enemies. The problem and workaround is described very concise in the very last post (at the time of your first post) and yet you decide to come up with a post brimming with misconceptions and rude accusations towards the people that put their spare time into maintaining awesome projects like matplotlib, basemap or Anaconda (through conda-forge). I am so very, very glad I don't understand your mindset. Please just stop using Python if you think it's a bad thing and stop molesting people that make Python great, won't you?
Same here and after I updated matplotlib 3.0.1 to 3.0.2, the problem was solved.
this really fixed my problem!
@QuLogic just FYI this affects fedora 31, see skipped tests in http://tests.obspy.org/108832/
Bug report
Bug summary
Basemap cannot work when I update the matplotlib to the new version 3.0.1.
Code for reproduction
Actual outcome
Expected outcome
Matplotlib version
print(matplotlib.get_backend())
): module://backend_interaggI install matplotlib and basemap from https://www.lfd.uci.edu/~gohlke/pythonlibs.