擅长:python、mysql、java
<p>你对pickle的工作原理有误解。在</p>
<p>除了实例状态(默认情况下是<code>__dict__</code>或自定义实现),它不会对任何内容进行seralize。当取消pickle时,它只尝试创建相应类的实例(这里是导入错误)并设置pickled状态。在</p>
<p>这是有原因的:您事先不知道在<code>load</code>之后将使用什么方法,所以您不能pickle实现。除此之外,在pickle时间内,您不能构建一些AST来查看反序列化后需要哪些方法/模块,这主要是因为python的动态特性——您的实现实际上可以根据输入而变化。在</p>
<p>毕竟,即使假设理论上我们有智能的自包含pickle序列化,它也将是实际的model+sklearn在单个文件中,没有适当的方法来管理它。在</p>