主要内容

生成一个Python打包和构建Python应用程序

万博1manbetx支持平台:窗户®, Linux®Mac

这个例子展示了如何创建一个Python®包从MATLAB®函数,并将生成的包集成到Python应用程序中。

先决条件

中创建函数MATLAB

在MATLAB中,检查要打包的MATLAB代码。对于本例,创建一个名为makesqr.m包含以下代码:

函数Y = makesqr(x) Y = magic(x);

在MATLAB命令提示符下,输入makesqr (5)

输出是一个5 × 5矩阵。

17 24 18 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9

创建Python应用程序使用库编译程序

方法将函数编译到Python包中库的编译器或者,如果您想使用编程方法从MATLAB命令窗口创建Python包,请参见使用compiler.build.pythonPackage创建Python包

  1. MATLAB应用程序标签,在最右边应用程序部分,单击箭头。在应用程序部署,点击库的编译器

    或者,您可以打开库的编译器应用程序从MATLAB命令提示符。

    libraryCompiler

    打开库编译器应用程序的编译器选项卡

  2. 类型部分,单击Python包

    库的编译器app项目窗口,指定要部署的MATLAB应用程序的文件。

    1. 导出功能部分,单击向项目添加导出函数

    2. 添加文件窗口,浏览到示例文件夹,并选择要打包的函数。点击开放

    该函数被添加到导出的函数文件列表中。重复此步骤将多个文件打包到同一个应用程序中。

    对于本例,选择makesqr.m您之前编写的文件。

  3. 包装选项部分的工具条中,决定是否包含MATLAB运行时通过选择其中一个选项,在生成的应用程序中安装:

    • 从网上下载运行时—生成安装程序,用于下载MATLAB运行时并将其与已部署的MATLAB应用程序一起安装。您可以指定安装程序的文件名。

    • 包中包含运行时—生成包含MATLAB运行时安装程序。您可以指定安装程序的文件名。

      请注意

      第一次选择此选项时,系统会提示您下载MATLAB运行时安装程序。

指定包设置

接下来,定义Python包的名称。

  • 为您的包选择一个名称。的库名称字段自动填充makesqr作为包的名称。将其重命名为MagicSquarePkg.有关Python包的命名要求的详细信息,请参见导入已编译的Python包

创建驱动程序示例文件

您可以将MATLAB文件添加到项目中以生成示例Python驱动程序文件。虽然Python驱动程序文件不是创建包所必需的,但您可以使用它们来实现Python应用程序,如安装和运行MATLAB生成的Python应用程序

样品部分中,选择创建新样本,并单击makesqr.m.打开一个MATLAB文件供您编辑。

演示函数y = makesqr(x)执行的示例脚本X = 0;%在这里初始化xY = makesqr(x);

改变X = 0X = 5,保存文件,返回到库的编译器应用程序。

有关更多信息和限制,请参见驱动文件创建示例

自定义应用程序及其外观

库的编译器应用程序,您可以自定义安装程序,自定义应用程序,并添加有关应用程序的更多信息。

  • 图书馆信息—已部署应用的信息。您还可以通过更改应用程序图标和启动画面来自定义应用程序的外观。生成的安装程序使用此信息填充已安装的应用程序元数据。看到自定义安装程序

  • 其他安装程序选项-生成的安装程序的默认安装路径和自定义logo选择。看到修改安装路径

  • 运行库所需的文件-生成的应用程序运行所需的附加文件。这些文件包含在生成的应用程序安装程序中。看到在编译器项目中管理所需的文件

  • 为最终用户安装的文件-与应用程序一起安装的文件。

    看到指定与应用程序一起安装的文件

用于自定义应用程序的库编译器应用程序中的字段

打包应用程序

当您完成选择包装选项后,保存您的库的编译器投射并生成打包的应用程序。

  1. 点击

    在“保存项目”对话框中,指定要保存项目的位置。

  2. 对话框,验证一下当处理完成时打开输出文件夹被选中。

    打包过程完成后,检查目标文件夹中生成的输出。

    • 生成三个文件夹:for_redistributionfor_redistribution_files_only,for_testing

      有关在这些文件夹中生成的文件的详细信息,请参见MATLAB函数打包后生成的文件

    • 日志文件PackagingLog.html包含打包结果。

创建Python包使用compiler.build.pythonPackage

作为一种替代库的编译器app,你可以使用编程方法创建一个Python包。方法创建了一个包库的编译器,请参阅安装和运行MATLAB生成的Python应用程序

  1. 将以下代码保存在名为makesqrSample1.m

    X = 5;Y = makesqr(x);

  2. 方法构建Python包compiler.build.pythonPackage功能和makesqr.m您之前编写的文件。使用名称-值参数指定包名并添加示例文件。

    buildResults = compiler.build.pythonPackage(“makesqr.m”...“PackageName”“MagicSquarePkg”...“SampleGenerationFiles”“makesqrSample1.m”...“详细”“上”);

    属性中指定其他选项compiler.build使用名称-值参数命令。详细信息请参见compiler.build.pythonPackage

    compiler.build.Results对象buildResults包含有关生成类型、生成文件、包含的支持包和生成选项的信息。万博1manbetx

  3. 该函数在名为MagicSquarePkgpythonPackage在当前工作目录下:

    • 样品\ makesqrSample1.py- Python应用程序示例文件。

    • GettingStarted.html-包含集成包信息的HTML文件。

    • included万博1manbetxSupportPackages.txt—列出软件包中包含的所有支持文件的文本文件。万博1manbetx

    • mccExcludedFiles.log-日志文件,其中包含未包含在应用程序中的任何工具箱功能的列表。有关不支持的函数的信息,请参见万博1manbetxMATLAB编译器限制

    • 固定—包含包装和接口信息的文本文件。

    • requiredMCRs manbetx 845Products.txt—需要的产品id的文本文件s manbetx 845MATLAB运行时运行应用程序。

    • setup . py—安装包的Python文件。

    • unresolvedSymbols.txt-包含未解析符号信息的文本文件。

    请注意

    生成的包不包含MATLAB运行时或者安装程序。方法创建安装程序buildResults对象,看到compiler.package.installer

安装并运行MATLAB生成的Python应用程序

创建Python包后,可以从Python应用程序调用它。此示例使用打包过程中生成的示例Python代码。您可以使用此示例Python应用程序代码作为编写自己的应用程序的指南。

  1. 复制并粘贴生成的Python文件makesqrSample1.py样品文件夹中包含setup . py文件。

    的程序清单makesqrSample1.py如下所示。

    # !/usr/bin/env python """使用MagicSquarePkg模块使用MATLAB编译器SDK创建的示例脚本。有关更多信息,请参阅MATLAB编译器SDK文档。""" " from __future__ import print_function import MagicSquarePkg import matlab my_MagicSquarePkg = MagicSquarePkg.initialize() xIn = matlab.double([5.0], size=(1,1)) yOut = my_MagicSquarePkg.makesqr(xIn) print(yOut, sep='\n') my_MagicSquarePkg.terminate()

  2. 在系统命令提示符下,导航到包含的文件夹makesqrSample1.py而且setup . py

  3. 方法安装应用程序python命令。

    Python setup.py安装

    要安装到默认位置以外的位置,请参考Python官方文档中的“安装Python模块”。

  4. 在系统命令提示符下运行应用程序。

    python makesqrSample1.py

    如果在打包步骤中使用示例MATLAB代码,则此应用程序返回与示例代码相同的输出。

    [[17.0, 24.0, 1.0, 8.0, 15.0), (23.0, 5.0, 7.0, 14.0, 16.0), (4.0, 6.0, 13.0, 20.0, 22.0), (10.0, 12.0, 19.0, 21.0, 3.0), (11.0, 18.0, 25.0, 2.0, 9.0)]

    请注意

    macOS,你必须使用mwpython脚本代替python.例如,mwpython makesqrSample1.py

    mwpython脚本位于matlabroot/ bin文件夹,matlabroot是你的MATLAB的位置还是MATLAB运行时安装。

另请参阅

||||