【问题标题】:ModuleNotFoundError: No module named 'cPickle' on Python 3.7.3 [duplicate]ModuleNotFoundError:Python 3.7.3 上没有名为“cPickle”的模块 [重复]
【发布时间】:2019-06-12 13:03:33
【问题描述】:

将 cPickle 导入为 pkl 回溯(最近一次通话最后): 文件“preprocess_wiki.py”,第 13 行,在 将 cPickle 导入为 pkl ModuleNotFoundError:没有名为“cPickle”的模块

【问题讨论】:

  • 非常广泛。该模块是否已安装到您的系统中?
  • cPickle 是 Python 2.x 的东西,它不再存在于 Python 3.x 中。相应的 C 实现现在是标准库中 pickle 包的实现细节;它将自动使用(相当于)cPickle,因此无需显式引用它。

标签: python pickle


【解决方案1】:

Python 2.x 中的一个常见模式是拥有一个模块版本 用纯 Python 实现,带有可选的加速版本 实现为 C 扩展;例如,pickle 和 cPickle。这 加重了导入加速版的负担 回到这些模块的每个用户的纯 Python 版本。在 Python 3.0,加速版本被认为是实现 纯 Python 版本的详细信息。用户应始终导入 标准版本,它尝试导入加速版本和 回退到纯 Python 版本。 pickle / cPickle 对 接受了这种治疗。

所以只需使用import pickle 对于python 3

Source

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-06
    • 2019-07-30
    • 1970-01-01
    • 1970-01-01
    • 2021-05-06
    • 1970-01-01
    相关资源
    最近更新 更多