支持: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 应用程序相关推荐

  1. anaconda怎么使用python包_Anaconda中python包的介绍与使用方法

    Anaconda中python包的介绍与使用方法 目录: 1.包的定义 2.常用包管理器 3.包管理器的使用方法 4.数据科学常用的包 1.包的定义 由多个和同一功能相关的模块组成,通常为含有_ini ...

  2. 实战| Python爬虫、构建GUI、程序打包,这篇文章带你玩过瘾!

    系列导读 01.PySimpleGUI|基础 02.PySimpleGUI|进阶 大家好,在之前的PySimpleGUI基础与进阶文章中,我们已经介绍了如何使用它构建GUI的基本方法,本文将进一步通过 ...

  3. 基于 Python 官方 GitHub 构建 Python 文档

    1. 下载 Python 的 GitHub 仓库:cpython 从 GitHub 上 clone 仓库很简单,在命令行中执行命令 git clone git@github.com:python/cp ...

  4. 利用OpenCV、Python和Ubidots构建行人计数器程序(附完整代码)

    作者 | Jose Garcia 译者 | 吴振东 校对 | 张一豪.林亦霖,编辑 | 于腾凯 来源 | 数据派(ID:datapi) 导读:本文将利用OpenCV,Python和Ubidots来编写 ...

  5. golang python性能_Golang构建Python高性能模块

    package main import "C" ​ //指定那些函数能被外部调用 //export test func test()  int{ //计算 0-1000000000 ...

  6. python创建一个包,如何从python包创建一个osx应用程序/ dmg?

    我不知道正确的方法,但是这种手动方法是我用于简单脚本的方法,似乎已经适当地执行了. 我会假设我所在的任何目录,我的程序的Python文件都在相对的src /目录中,我要执行的文件(具有正确的sheba ...

  7. linux系统安装python包_Linux系统安装Python

    Linux系统处带的是Python2,一直用Python3.6+Django2进行开发,于是在Linux上安装Python3,安装过程如下: (1).在官网下载"Gzipped source ...

  8. python包导入方式_python导包的几种方法(自定义包的生成以及导入详解)

    python 导入数据包的几种方法 1.直接导入整个数据包:improt 数据包 2.导入数据包中的某一个函数: from 数据包 improt 函数(当函数这一项为 * 时为导入整个数据包) 3. ...

  9. 全面学习 Python 包,你 Get 了吗?

    作者 | Python编程时光 责编 | 屠敏 为什么需要对项目分发打包? 平常我们习惯了使用 pip 来安装一些第三方模块,这个安装过程之所以简单,是因为模块开发者为我们默默地为我们做了所有繁杂的工 ...

最新文章

  1. 【springboot】入门
  2. Exchange 2003群集的安装
  3. 一个WEB网站高并发量的解决方案
  4. 判断一颗二叉树是否为搜索二叉树和完全二叉树
  5. 采购组织0001不对工厂1000负责
  6. 2008 mysql 本地安全_如何在Linux系统中建立mysql的本地安全机制?
  7. python论文参考文献5篇_“送”5篇SCI论文,意味着什么?
  8. 【白皮书分享】2021消费者数智化运营白皮书.pdf(附下载链接)
  9. OSChina 周三乱弹 ——你是有多寂寞啊,看光头强都……
  10. 无线路由器怎么显示远端服务器,路由器远端服务器无响应是怎么回事
  11. SSRF漏洞修复方案
  12. 第二章:minio单机版,使用客户端备份文件
  13. 炫酷的 loding效果(canvas)
  14. 既然是豆腐心,何必刀子嘴?
  15. html 苏宁首页,简单实现
  16. 各类文件的文件头尾总结
  17. 华为平板可以安装python_Python镜像怎么配置_Python镜像下载-华为云
  18. android recyclerView Binary XML file line #7: Error inflating class android.support.v7.widget.Recycl
  19. 消防系统数据服务器,数据中心消防安全措施必须齐全完备
  20. 三相全桥整流 逆变 matlab,三相桥式有源逆变电路的MATLAB建模仿真

热门文章

  1. 高德地图JSAPI的使用注意项
  2. C++如何输出带双引号的语句
  3. sed grep awk之间比较
  4. mysql添加普通索引sql语句
  5. RSA加解密、验解签区别
  6. 一行代码加速 sklearn 运算上千倍
  7. 【数据科学】反思十年数据科学和可视化工具的未来
  8. java习题——集合类、枚举类型与泛型——英文字母输出,掷骰子,彩虹枚举,体检记录模拟
  9. JS弹出窗口Window.Open详解
  10. linux suid提权