-
Notifications
You must be signed in to change notification settings - Fork 389
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
AttributeError: can't set attribute ax._hold = self._tmp_hold #435
Comments
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 |
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 ***@***.***> 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
<#435 (comment)>,
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 ***@***.***> 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 ***@***.***>
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
> <#435 (comment)>,
> 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. 👍 |
I'm confused @WeatherGod : Does this mean we can only use Basemap with MPL 3.0.0 ? |
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? |
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 ***@***.***> 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. |
@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). |
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.
The text was updated successfully, but these errors were encountered: