pickle报错 ValueError: unsupported pickle protocol: 3

简介: pickle报错 ValueError: unsupported pickle protocol: 3

pickle报错 ValueError: unsupported pickle protocol: 3


1、报错含义

不支持用 Python2 读取 Python3 生成的 pkl 文件。

2、解决办法

如果知道会是在 Python2 环境中执行读取 pkl 文件,则在生成 pkl 文件时加入 protocol=2:

import pickle
pickle.dump(model_name,open('example.pkl', 'wb'), protocol=2)

这样就是用 Python3 生成了能用 Python2 读取的 pkl 文件。

3、补充

Python2 生成的 pkl 导入方式:

import cPickle

with open('data.pkl', 'rb') as f:

samples, labels = cPickle.load(f)

Python3 生成的pkl 导入方式:

import pickle

with open('data.pkl', 'rb') as f:

samples, labels = pickle.load(f)

相关文章
|
JSON 数据格式 Python
Python json中一直搞不清的load、loads、dump、dumps、eval
Python json中一直搞不清的load、loads、dump、dumps、eval
412 0
Python json中一直搞不清的load、loads、dump、dumps、eval
|
5月前
|
Python
【Python】已解决:ValueError: Worksheet named ‘Sheet’ not found
【Python】已解决:ValueError: Worksheet named ‘Sheet’ not found
386 0
成功解决ForkingPickler(file, protocol).dump(obj) TypeError: can't pickle Environment objects
成功解决ForkingPickler(file, protocol).dump(obj) TypeError: can't pickle Environment objects
成功解决ForkingPickler(file, protocol).dump(obj) TypeError: can't pickle Environment objects
|
3月前
|
JSON 安全 数据格式
7-6|python报错TypeError: can't pickle _thread.RLock objects
7-6|python报错TypeError: can't pickle _thread.RLock objects
|
5月前
|
数据处理 Python
【Python】已解决:raise XLRDError(FILE_FORMAT_DESCRIPTIONS[file_format]+‘; not supported’) xlrd.biffh.XLRD
【Python】已解决:raise XLRDError(FILE_FORMAT_DESCRIPTIONS[file_format]+‘; not supported’) xlrd.biffh.XLRD
108 1
|
5月前
|
数据挖掘 数据处理 Python
【Python】已解决:TypeError: read_csv() got an unexpected keyword argument ‘shkiprows‘
【Python】已解决:TypeError: read_csv() got an unexpected keyword argument ‘shkiprows‘
111 0
|
5月前
|
Python
【Python】已解决:TypeError: *init*() missing 1 required positional argument: ‘scheme’
【Python】已解决:TypeError: *init*() missing 1 required positional argument: ‘scheme’
314 0
|
7月前
|
JSON JavaScript API
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0) 错误分析
本文探讨了Python中处理JSON数据时遇到的`JSONDecodeError`,该错误通常由JSON格式错误或数据源问题引起。解决方法包括检查数据源、使用异常处理机制和调试日志记录。示例代码展示了如何从文件和API读取JSON并处理异常。注意事项涉及验证JSON规范、处理特殊字符和选择合适解析器。通过这些步骤,可以有效解决JSON解码错误,确保数据正确解析。
550 0
|
7月前
|
Linux Windows Python
ForkingPickler(file, protocol).dump(obj) TypeError: can‘t pickle Environment objects
ForkingPickler(file, protocol).dump(obj) TypeError: can‘t pickle Environment objects
146 0
|
JSON 数据格式 Python
【python】load与loads、dump与dumps的使用讲解
【python】load与loads、dump与dumps的使用讲解