報錯原因
因開發機包含python的多個版本,3.7 3.8 3.9,同時使用了django-redis 包, 緩存公用的一個redis中間件,如果3.8或3.9 向redis寫入key 3.7讀取的時候就會報錯 ValueError: unsupported pickle protocol: 5
解決方案
1. 建議通過docker 啟動多個redis 作為區分
2.統一使用python3.8以上的版本運行
其它原因
問題描述
使用pickle.load(f)讀取pkl文件的時候,報錯ValueError: unsupported pickle protocol: 5
解決方案
原因是由於保存pkl文件的版本是python3.8,而讀取的時候用了python3.7來讀取,所以才會報錯。
解決辦法就是:保存和讀取pkl文件用同樣的python版本
參考地址
https://blog.csdn.net/weixin_38705903/article/details/113686545
https://blog.csdn.net/weixin_38705903/article/details/106463508
https://blog.csdn.net/weixin_30578677/article/details/97587699