支持: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 包含有关未解析符号的信息。
创建 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)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)