python - pickle.load() ModuleNotFoundError: No Module Named 'dask.sharedict'
问题描述
我尝试了 dask 版本 2.10.1、2.9.2 和 2.6.0 并且都给出了相同的错误:
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'
更多信息:单独使用 pickle 给了我ModuleNotFoundError: No module named 'dask'
,所以我在 conda 环境中安装了 dask。以上是我手动安装 dask 后出现的错误。
解决方案
您腌制的对象是使用旧版本制作的某种 Dask 对象。Pickle 希望解开该对象的人使用完全相同的库版本。所以现在你需要弄清楚用于存储这个对象的确切软件环境。
由于这个原因(以及许多其他原因),Pickle 不是一种好的长期存储格式。
推荐阅读
- c++ - 为什么地图插入和 map.find() 的单次迭代比插入和 map.find() 的两次单独迭代慢得多
- javascript - 进度条上的文本中心
- php - 如何将onclick变量传递给php中的mysql查询
- javascript - 如何将“for”循环的结果保存到单个变量中?(JavaScript)Node.js
- graphql - 如何使用graphql Shopify从产品对象中按变体ID获取变体
- metadata - 为什么在 GCE 上运行容器会卡住元数据请求不成功被禁止 (403)
- javascript - 在 JavaScript 中动态创建 if 语句的最佳方法?
- java - 如何强制关闭设备?
- angular - 错误类型错误:无法读取未定义的属性“then”
- javascript - 如何在 MomentJS 中将日期转换为 UNIX 时间戳?