读取pkl文件失败
导师给了一个小任务,让先读取一个地名pkl文件,然后提取地名并进行翻译。结果在读取阶段就出现问题。
问题一:
在网上查阅后发现是因为环境中的pandas版本过高的原因。因为现在运行文件的电脑的pandas版本与生成文件的电脑pandas版本不用导致的错误。具体原因就是不同的pandas版本可能序列化与反序列化的解码不同,导致的在解读二进制pkl文件失败。第一次遇到这个我在我的anaconda环境中降低了我的pandas版本。
问题二:
在解决完上述问题后,出现了下面的问题。再去查阅后给出的答案就是生成文件电脑的python版本与pandas版本与我的电脑的python版本与pandas版本不同。但是一开我并不清楚生成文件的版本,然后就去问老师,老师说用python3.9版本,没说用什么版本的pandas版本。
然后我就在anaconda中创建新的虚拟环境用的python3.9,就可以正常读取文件内容。
总结
针对问题一,降低了pandas版本可以解决,但是并未彻底解决。
针对问题二,则是统一了python版本。将我的环境中的python统一为python3.9。但是pandas版本未统一,我选择安装了1.2.1版本的pandas。因为一开始用的pandas2.0.3版本无法运行,我猜测应该是低版本的可以兼容但是高版本的无法兼容。
问题一:我的环境:python3.8+pandas2.0.1后更改为:python3.8+pandas1.5.3
问题二:我的环境:python3.8+pandas2.0.3更改为:python3.9+pandas1.2.1
所以大家在进行pkl文件读取时,一定要至少保证生成文件电脑的python版本与自己电脑的python版本保持一致,pandas至少不高于生成文件的版本。