Matlab 生成 Python 包并构建 Python 应用程序

Matlab 生成 Python 包并构建 Python 应用程序,第1张

Matlab 生成 Python 包并构建 Python 应用程序

支持:Windows®, Linux®, Mac
如何从 MATLAB® 函数创建 Python® 包并将生成的包集成到 Python 应用程序中。
1.确认安装了与 MATLAB Compiler SDK™ 兼容的 Python 版本。
2.最终用户必须安装 MATLAB Runtime 才能运行应用程序。

MATLAB Runtime 是一套独立的共享库,可以执行已编译的 MATLAB 应用程序或组件。当 MATLAB、MATLAB Compiler 和 MATLAB Runtime 一起使用时,您可以快速、安全地创建和分布数值应用程序或软件组件。
MATLAB® Runtime时在几个重要方面与MATLAB不同:

  • 在MATLAB Runtime时中,MATLAB文件是加密和不可变的。
  • MATLAB有一个桌面图形界面。MATLAB Runtime具有所有MATLAB功能,无需图形界面
  • MATLAB Runtime市特定版本。您必须使用与创建它的MATLAB MATLAB Compiler SDK版本关联的MATLAB Runtime版本运行应用程序。例如,如果您使用MATLAB CompilerTM的6.3(R2016b)版本编译应用程序,未安装MATLAB的用户必须安装MATLAB运行时的9.1版本。使用mcrversion返回MATLAB运行时的版本号。
  • MATLAB Runtime实例中的MATLAB路径是固定的,无法更改。要更改它们,您必须首先在MATLAB中自定义它们

添加链接描述

Create Function in MATLAB

在matlab中,创建你想打包的matlab函数,例子

function makesqr(x)
y = magic(x);
disp(y)

在 MATLAB 命令提示符下,输入 makeqr(5)。
The output is a 5x5 matrix.

方法一
使用库编译器应用程序( Library Compiler App)创建 Python 应用程序

使用库编译器应用程序将函数编译到 Python 包中,或者,如果您想使用编程方法从 MATLAB 命令窗口创建 Python 包( Create Python Package Using compiler.build.pythonPackage.)

  • 在MATLAB Apps表中,在应用程序部分的最右侧,单击箭头。在应用程序部署中,单击库编译器。

  • 在工具条的类型部分,点击Python Package.
    在Library Compiler app 窗口,指定要部署的 MATLAB 应用程序的文件
    .

In the Exported Functions section of the toolstrip, 点击
导入函数到项目中
在 Add Files 窗口中, 浏览到示例文件夹,然后选择要打包的函数. 点击 Open.
该函数被添加到导出的函数文件列表中。重复此步骤将多个文件打包到同一个应用程序中。

  • 在Packaging Options 中,通过选择以下选项之一来决定是否在生成的应用程序中包含 MATLAB Runtime 安装程序:

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

  • Runtime included in package — 生成包含 MATLAB 运行时安装程序的应用程序。您可以指定安装程序的文件名。

- 指定包设置

定义Python包的名字

Library Name–字段会自动填充 makeqr 作为包的名称。有关 Python 包命名要求的更多信息,可以参考:添加链接描述

创建示例驱动程序文件

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

% Sample script to demonstrate execution of function y = makesqr(x)
x = 0; % Initialize x here
y = makesqr(x);
打包应用程序

完成打包选项的选择后,保存库编译器项目并生成打包的应用程序。

1.Click Package.
In the Save Project dialog box, specify the location to save the project.
2.In the Package dialog box, verify that **Open output folder when process completes **is selected.
打包过程完成后,检查目标文件夹中生成的输出。
-创建3个文件夹: for_redistribution, for_redistribution_files_only, and for_testing.
-日志文件 PackagingLog.html 包含打包结果。

方法二
用 compiler.build.pythonPackage 创建python 包

使用以下步骤
1.保存示例文件,名为 makesqrSample1.m:

x = 4;
a = makesqr(x);

2.用compiler.build.pythonPackage创建Python 包,使用名称-值参数指定包名称并添加示例文件。

buildResults = compiler.build.pythonPackage('makesqr.m',...
'PackageName','MagicSquarePkg',...
'SampleGenerationFiles','makesqrSample1.m');

compiler.build.Results 对象 buildResults 包含有关构建类型、生成的文件和构建选项的信息。

3.该函数在名为MagicSquarePkgpythonPackage 的文件夹中生成以下文件:
-samplesmakesqrSample1.py — Python sample driver file.
-GettingStarted.html — HTML file包含有关集成包的信息。
-mccExcludedFiles.log — Log file 包含未包含在应用程序中的任何工具箱功能的列表。
-readme.txt — Text file 包含封装和接口信息.
-requiredMCRProducts.txt — Text file 包含 MATLAB Runtime 运行应用程序所需产品的产品 ID。
-setup.py — Python file 安装这个包.
-unresolvedSymbols.txt — Text file 包含有关未解析符号的信息。

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

创建 Python 包后,您可以从 Python 应用程序调用它。本示例使用打包期间生成的示例 Python 代码。您可以使用此示例 Python 应用程序代码作为编写您自己的 Python 应用程序的指南。
1.将生成的 Python 文件 makeqrSample1.py 从示例文件夹复制并粘贴到包含 setup.py 文件的文件夹中。
2.在系统命令提示符下,导航到包含 makeqrSample1.py 和 setup.py 的文件夹。
3.使用 python 命令安装应用程序。

python setup.py install

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

⚠️在 macOS 上,您必须使用 mwpython 脚本而不是 python。例如,mwpython makeqrSample1.py。

第一次调用函数前,需要进行初始化以加载MATLAB Runtime

import MagicSquarePkg
a = MagicSquarePkg.initialize()
b = a.makesqr(5)    	 # 有时要以 matlab.double([5])的方式传参
a.terminate()

当参数数目过多时,需要加 nargout参数以指定输出参数的个数,如

import matlab.engine
eng = matlab.engine.start_matlab()
t = eng.gcd(100.0,80.0,nargout=3)
print(t)

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5652015.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存