Memory can't be pickled/unpickled.
It defines __reduce__ to exclude a timestamp from the pickle.
But __reduce__ includes:
return (self.__class__, (location, self.backend, self.mmap_mode,
compress, self._verbose))
where __init__ is:
def __init__(self, location=None, backend='local', cachedir=None,
mmap_mode=None, compress=False, verbose=1, bytes_limit=None,
backend_options={})
cachedir, not mmap_mode is now the third positional argument. Perhaps it should be the last, and then __reduce__ need not be changed. Or __reduce__ can be fixed and changed again when the deprecation is completed.