创建Python包,首先需要准备好需要编译的MATLAB M文件。[大谦MATLAB,dqmatlab点com]
新建一个M文件mymagic.m,保存在D盘下。
function y=mymagic(x)
y=magic(x)
MATLAB中可以使用库编译器和mcc命令创建Python包。
- 使用库编译器创建Python包
在MATLAB命令窗口键入
>> libraryCompiler
打开库编译器。在工具栏中的“TYPE”列表框中选择“Python Package”选项并进行其它设置,可以生成Python包。MATLAB库编译器如图3-1所示。
图3-1 用库编译器创建Python包
在“Compiler”选项卡中,单击“Type”列表框中的“Python Package”选项。在“Exported Functions”部分,单击后面的加号,找到和选择D盘下的M文件mymagic.m,添加它。库编译器使用文件名作为部署工程的名称,显示在对话框的标题中,并且作为包的名称,显示在“Library information”部分。工程文件保存所有部署设置,这样可以重新打开工程。
在“Library Information”区域修改包的名称为“mymagic”。在功能区单击“Settings”按钮,将输出路径修改为“D:\test”,如图3-2所示。单击“Package”按钮进行编译和打包。
图3-2 设置输出路径
编译完成后在D盘的test目录下可以找到编译和打包结果。库编译器创建一个日志文件PackagingLog.txt和3个用于分发和测试的目录,如图3-3所示,包括:
for_redistribution目录:包含应用程序的安装文件。安装文件会安装MATLAB运行时和应用程序。
for_testing目录:包括Python安装文件和一系列资源文件等。使用这些文件测试安装。
for_redistribution_files_only目录:是测试目录文件的子集,包含分发应用程序的一些必需文件,包括Python包安装文件。
图3-3 MATLAB库编译器生成的文件和目录
打开for_redistribution_files_only目录,可以看到Python包的安装文件setup.py。
图3-4 MATLAB库编译器生成的Python包安装文件
使用命令行创建Python包
也可以用mcc命令创建Python包。下面是mcc命令的完整语法,带括号的选项为可选项。
mcc -W python:namespace.packageName -T link:lib mfilename1
mfilename2...mfilenameN
下面介绍语法的各个部分。
-W
让编译器创建一个打包器函数。该选项带一个字符串参数,指定组件的某些特性。
mfilename1 [mfilename2…mfilenameN]
指定M文件或即将作为要创建的类的方法的M文件。
-T
指定输出类型。要创建Python包,需要指定关键字link:lib,它将对象链接到共享库(DLL)中。
在D盘下新建mypy目录,在MATLAB命令窗口使用下面的命令行将D盘下的mymagic.m编译为Python包。
mcc –W python:mypy –T link:lib –d d:\mypy d:\mymagic.m
编译结果如图3-5所示。其中setup.py文件即为Python包的安装文件。
图3-5 用mcc命令进行编译