ru111
ru111

Reputation: 953

pickle.load() ModuleNotFoundError: No Module Named 'dask.sharedict'

I tried dask versions 2.10.1, 2.9.2 and 2.6.0 and all give the same error:

import pickle

with open('data.txt', "rb") as f: 
    myobj = pickle.load(f)

---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-8-4ebbec735679> in <module>
      3 
      4 with open('data.txt', "rb") as f:
----> 5     myobj = pickle.load(f)

ModuleNotFoundError: No module named 'dask.sharedict'

More info: Using pickle on its own gave me ModuleNotFoundError: No module named 'dask' so I installed dask on the conda environment. The above is the error I get after I installed dask manually.

Upvotes: 0

Views: 1270

Answers (1)

MRocklin
MRocklin

Reputation: 57281

The object that you pickled was some sort of Dask object made with an older version. Pickle expects that whoever unpickles that object is using exactly the same library versions. So now you need to figure out the exact software environment used to store this object.

For this reason (and many others), Pickle is not a good long-term storage format.

Upvotes: 1

Related Questions