无法在Windows上反序列化Mac生成的nlp.pk pickle文件
跨系统反序列化Mac生成的nlp.pk文件崩溃问题
我尝试反序列化一个名为nlp.pk的文件,该文件由Mac系统序列化生成,现需在Windows系统中完成反序列化操作。以下是我使用的反序列化代码:
_dependency_file_path = { "VECTORIZER" : "./vectorizer.pk", "VECTORS" : "./vectors.pk", "LINKS" : "./links.pk", "NORMALIZER" : "./normalizer.pk", "NLP" : "./nlp.pk" } def dependency_loader(): dependencies = {} DEFAULT_PICKLE_FILEPATH_TYPE = pathlib.PosixPath if platform.system()=="Windows": pathlib.PosixPath = pathlib.WindowsPath for filename,filepath in _dependency_file_path.items(): try: with open(filepath, "rb") as file: dependencies[filename] = pickle.load(file) print(f"{filename} loaded!") except Exception as E: raise RuntimeError(f"Exception:{E}") pathlib.PosixPath = DEFAULT_PICKLE_FILEPATH_TYPE return dependencies
程序无任何错误或警告直接崩溃:
- 在Anaconda环境的Jupyter Notebook中运行时,内核持续崩溃且无报错;
- 在VS Code中运行时,出现错误:内核进程因traitlets 5中对额外字符串引号的支持被弃用而终止。
运行结果显示,其余4个文件均可正常反序列化,仅nlp.pk存在问题。另外4个文件无需修改PosixPath即可直接反序列化,而nlp.pk首次运行时出现PosixPath错误,按上述代码处理兼容后,便开始出现崩溃现象。

内容的提问来源于stack exchange,提问作者Nisarg851
相关产品推荐
相关产品推荐

