Python 序列化scipy rv_连续子类和rv_离散子类的实例

Python 序列化scipy rv_连续子类和rv_离散子类的实例,python,serialization,scipy,pickle,Python,Serialization,Scipy,Pickle,我正在使用scipy.stats.distributions中的分发类,需要序列化实例以进行存储和传输。这些是非常复杂的对象,它们不会被酸洗。我正在尝试开发一个mixin类,使对象能够pickle,这样我就可以使用重新混合的子类,否则它们的行为就像scipy.stats中的对象一样。我越是调查这个问题,我就越感到困惑,我想知道我是否错过了一个显而易见的方法来解决这个问题 我读过一篇关于如何pickle实例方法的文章,但这只是我需要的整体解决方案的一部分,甚至可能不是必需的。我曾经尝试过编写pic

我正在使用
scipy.stats.distributions
中的分发类,需要序列化实例以进行存储和传输。这些是非常复杂的对象,它们不会被酸洗。我正在尝试开发一个mixin类,使对象能够pickle,这样我就可以使用重新混合的子类,否则它们的行为就像scipy.stats中的对象一样。我越是调查这个问题,我就越感到困惑,我想知道我是否错过了一个显而易见的方法来解决这个问题

我读过一篇关于如何pickle实例方法的文章,但这只是我需要的整体解决方案的一部分,甚至可能不是必需的。我曾经尝试过编写pickle支持函数,这些函数严格遵循
\uuuuu init\uuuuu
方法,并将对象序列化为
\uuuuuu init\uuuu
的参数,但这似乎很脆弱,特别是当子类可以在
\uuuuu init\uuuu
中定义任意子类特定的行为时

有人有优雅的解决方案可以分享吗

更新:我发现了一个示例,其中包含使用
copy_reg
模块到pickle实例方法注册pickle支持函数的示例。在我的例子中,实例方法属性是唯一的拦截器。但是,我仍然想知道是否有一种方法可以使用mixin类来解决这个问题,因为
copy\u reg
具有全局效果,这在所有情况下可能都不可取