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 的文件夹中生成以下文件:
-samples\makesqrSample1.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)
Matlab 生成 Python 包并构建 Python 应用程序相关推荐
- anaconda怎么使用python包_Anaconda中python包的介绍与使用方法
Anaconda中python包的介绍与使用方法 目录: 1.包的定义 2.常用包管理器 3.包管理器的使用方法 4.数据科学常用的包 1.包的定义 由多个和同一功能相关的模块组成,通常为含有_ini ...
- 实战| Python爬虫、构建GUI、程序打包,这篇文章带你玩过瘾!
系列导读 01.PySimpleGUI|基础 02.PySimpleGUI|进阶 大家好,在之前的PySimpleGUI基础与进阶文章中,我们已经介绍了如何使用它构建GUI的基本方法,本文将进一步通过 ...
- 基于 Python 官方 GitHub 构建 Python 文档
1. 下载 Python 的 GitHub 仓库:cpython 从 GitHub 上 clone 仓库很简单,在命令行中执行命令 git clone git@github.com:python/cp ...
- 利用OpenCV、Python和Ubidots构建行人计数器程序(附完整代码)
作者 | Jose Garcia 译者 | 吴振东 校对 | 张一豪.林亦霖,编辑 | 于腾凯 来源 | 数据派(ID:datapi) 导读:本文将利用OpenCV,Python和Ubidots来编写 ...
- golang python性能_Golang构建Python高性能模块
package main import "C" //指定那些函数能被外部调用 //export test func test() int{ //计算 0-1000000000 ...
- python创建一个包,如何从python包创建一个osx应用程序/ dmg?
我不知道正确的方法,但是这种手动方法是我用于简单脚本的方法,似乎已经适当地执行了. 我会假设我所在的任何目录,我的程序的Python文件都在相对的src /目录中,我要执行的文件(具有正确的sheba ...
- linux系统安装python包_Linux系统安装Python
Linux系统处带的是Python2,一直用Python3.6+Django2进行开发,于是在Linux上安装Python3,安装过程如下: (1).在官网下载"Gzipped source ...
- python包导入方式_python导包的几种方法(自定义包的生成以及导入详解)
python 导入数据包的几种方法 1.直接导入整个数据包:improt 数据包 2.导入数据包中的某一个函数: from 数据包 improt 函数(当函数这一项为 * 时为导入整个数据包) 3. ...
- 全面学习 Python 包,你 Get 了吗?
作者 | Python编程时光 责编 | 屠敏 为什么需要对项目分发打包? 平常我们习惯了使用 pip 来安装一些第三方模块,这个安装过程之所以简单,是因为模块开发者为我们默默地为我们做了所有繁杂的工 ...
最新文章
- 【springboot】入门
- Exchange 2003群集的安装
- 一个WEB网站高并发量的解决方案
- 判断一颗二叉树是否为搜索二叉树和完全二叉树
- 采购组织0001不对工厂1000负责
- 2008 mysql 本地安全_如何在Linux系统中建立mysql的本地安全机制?
- python论文参考文献5篇_“送”5篇SCI论文,意味着什么?
- 【白皮书分享】2021消费者数智化运营白皮书.pdf(附下载链接)
- OSChina 周三乱弹 ——你是有多寂寞啊,看光头强都……
- 无线路由器怎么显示远端服务器,路由器远端服务器无响应是怎么回事
- SSRF漏洞修复方案
- 第二章:minio单机版,使用客户端备份文件
- 炫酷的 loding效果(canvas)
- 既然是豆腐心,何必刀子嘴?
- html 苏宁首页,简单实现
- 各类文件的文件头尾总结
- 华为平板可以安装python_Python镜像怎么配置_Python镜像下载-华为云
- android recyclerView Binary XML file line #7: Error inflating class android.support.v7.widget.Recycl
- 消防系统数据服务器,数据中心消防安全措施必须齐全完备
- 三相全桥整流 逆变 matlab,三相桥式有源逆变电路的MATLAB建模仿真