modelx.export_model#

export_model(model, path)[源代码]#

将给定模型导出为一个独立的Python包。

警告

此功能目前处于实验阶段,并受限于下文详述的限制条件。

此函数将提供的model导出为Python包。 生成的包是自包含的,意味着它不需要modelx。

在生成的包中, 定义了类来表示原始模型及其空间。 原始模型中的单元格被导出为这些空间类中的方法。

导入生成的包后,会创建一个模型类的实例。该模型可以通过mx_model访问,或者在包的命名空间中使用原始模型名称访问。

分配给引用的intstrfloat类型的值会作为字面量输出到包的模块中。

与PandasData对象关联的值保存在包内的文件中。 这些PandasData对象的元数据会输出 到包的_mx_io.py模块中作为字典字面量。

未与任何IOSpec对象关联的值 (上述类型列出的除外)会被序列化(pickled) 并存储在包内的_mx_pickled文件中。

限制

由于该功能目前处于实验阶段, 并非所有modelx模型都能导出。当前限制包括:

  • ItemSpaces中的相对引用不受支持。 ItemSpace内的所有引用都绑定到其基础引用指向的相同对象。

  • 与IOSpec关联的对象(除PandasData外),例如ExcelRange和ModuleData,均不受支持。

  • 当作为算术运算符(如+-*/)的操作数时,modelx会将无参数的Cells对象强制转换为它的值。这种强制转换不会在导出的模型中发生,并将在未来的modelx版本中弃用。用户应确保在原始模型的公式中使用()来调用此类Cells。

Parameters:
  • model – 要导出的Model对象。

  • path – 生成的Python包所在的路径。

另请参阅

export()

添加于版本0.22.0。