8000 Can no longer deepcopy LogNorm objects on master · Issue #18119 · matplotlib/matplotlib · GitHub
[go: up one dir, main page]

Skip to content
Can no longer deepcopy LogNorm objects on master #18119
Closed
sunpy/sunpy
#4877
@dstansby

Description

@dstansby

Bug report

Bug summary

As of 0d1d95c on the master branch it is no longer possible to deepcopy a LogNorm instance, which is a regression from 3.3.x.

Code for reproduction

import matplotlib.colors as mcolor
import copy
norm = mcolor.LogNorm()
copy.deepcopy(norm)

Actual outcome

Traceback (most recent call last):
  File "test.py", line 4, in <module>
    copy.deepcopy(norm)
  File "/Users/dstansby/miniconda3/envs/dev/lib/python3.8/copy.py", line 172, in deepcopy
    y = _reconstruct(x, memo, *rv)
  File "/Users/dstansby/miniconda3/envs/dev/lib/python3.8/copy.py", line 270, in _reconstruct
    state = deepcopy(state, memo)
  File "/Users/dstansby/miniconda3/envs/dev/lib/python3.8/copy.py", line 146, in deepcopy
    y = copier(x, memo)
  File "/Users/dstansby/miniconda3/envs/dev/lib/python3.8/copy.py", line 230, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/Users/dstansby/miniconda3/envs/dev/lib/python3.8/copy.py", line 172, in deepcopy
    y = _reconstruct(x, memo, *rv)
  File "/Users/dstansby/miniconda3/envs/dev/lib/python3.8/copy.py", line 270, in _reconstruct
    state = deepcopy(state, memo)
  File "/Users/dstansby/miniconda3/envs/dev/lib/python3.8/copy.py", line 146, in deepcopy
    y = copier(x, memo)
  File "/Users/dstansby/miniconda3/envs/dev/lib/python3.8/copy.py", line 230, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/Users/dstansby/miniconda3/envs/dev/lib/python3.8/copy.py", line 153, in deepcopy
    y = copier(memo)
  File "/Users/dstansby/github/matplotlib/lib/matplotlib/transforms.py", line 143, in __copy__
    raise NotImplementedError(
NotImplementedError: TransformNode instances can not be copied. Consider using frozen() instead.

Expected outcome

No error

Matplotlib version

  • Operating system:
  • Matplotlib version:
  • Matplotlib backend (print(matplotlib.get_backend())):
  • Python version:
  • Jupyter version (if applicable):
  • Other libraries:

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0