欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

unsupported pickle protocol: 5

发布时间:2023/12/16 编程问答 41 豆豆
生活随笔 收集整理的这篇文章主要介绍了 unsupported pickle protocol: 5 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

问题背景

今天遇到了unsupported pickle protocol: 5,记录一下解决思路和解决过程

遇到了这个问题就说明我的pickle是用python3.8生成的,但是我的anaconda里默认的是python3.6,所以读取这个pickle失败了


问题分析

明显是pickle的原因,直接去官网看看(了解一下pickle与python的关系)

pickle — Python object serialization — Python 3.10.4 documentation 

对应的协议5是3.8中的,所以当时在pickle.dump的时候是在python3.8中使用协议5序列化的!


解决办法

a)卸载现有的anaconda版本,安装配备python3.8及以上版本的anaconda(我不会选这个,因为前天为了安装mpldatacursor历经波折最后把最新的anaconda卸载了,安装了默认python版本为3.6的anaconda5.2.0)

b)保存和读取pkl文件用同样的python版本


关于解决办法的详细操作

a)关于解决方案a:大家都会的,就是卸载+重装anaconda(记得找到对应的版本哦)

关于怎么查找对应的版本可以参考这篇博文:

《软件安装与使用教程》— 三大操作系统的Anaconda版本与Python版本对照表_木楞人的博客-CSDN博客_anaconda python版本《软件安装与使用教程》— 三大操作系统的Anaconda版本与Python版本对照表_木楞人的博客-CSDN博客_anaconda python版本《软件安装与使用教程》— 三大操作系统的Anaconda版本与Python版本对照表_木楞人的博客-CSDN博客_anaconda python版本

b)关于解决方案b:接下来就开始用python3.6生成并读取pickle

我们先了解一下pickle

Python之Pickle学习_奥卡姆的剃刀的博客-CSDN博客_pickle python

我的计划是:csv转txt——txt转list——用list生成pkl——读取pkl

最后读取成功!


关于解决本次问题我参考的博文

关于unsupported pickle protocol: 5的解决办法

ValueError: unsupported pickle protocol: 5_头脑风暴OO的博客-CSDN博客

总结

以上是生活随笔为你收集整理的unsupported pickle protocol: 5的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。