创建Python包

创建Python包,首先需要准备好需要编译的MATLAB M文件。[大谦MATLAB,dqmatlab点com]

新建一个M文件mymagic.m,保存在D盘下。

code.matlab
function y=mymagic(x)
y=magic(x)

MATLAB中可以使用库编译器和mcc命令创建Python包。

  • 使用库编译器创建Python包

在MATLAB命令窗口键入

code.matlab
>> libraryCompiler

打开库编译器。在工具栏中的“TYPE”列表框中选择“Python Package”选项并进行其它设置,可以生成Python包。MATLAB库编译器如图3-1所示。

Document Image

图3-1 用库编译器创建Python包

在“Compiler”选项卡中,单击“Type”列表框中的“Python Package”选项。在“Exported Functions”部分,单击后面的加号,找到和选择D盘下的M文件mymagic.m,添加它。库编译器使用文件名作为部署工程的名称,显示在对话框的标题中,并且作为包的名称,显示在“Library information”部分。工程文件保存所有部署设置,这样可以重新打开工程。

在“Library Information”区域修改包的名称为“mymagic”。在功能区单击“Settings”按钮,将输出路径修改为“D:\test”,如图3-2所示。单击“Package”按钮进行编译和打包。

Document Image

图3-2 设置输出路径

编译完成后在D盘的test目录下可以找到编译和打包结果。库编译器创建一个日志文件PackagingLog.txt和3个用于分发和测试的目录,如图3-3所示,包括:

for_redistribution目录:包含应用程序的安装文件。安装文件会安装MATLAB运行时和应用程序。

for_testing目录:包括Python安装文件和一系列资源文件等。使用这些文件测试安装。

for_redistribution_files_only目录:是测试目录文件的子集,包含分发应用程序的一些必需文件,包括Python包安装文件。

Document Image

图3-3 MATLAB库编译器生成的文件和目录

打开for_redistribution_files_only目录,可以看到Python包的安装文件setup.py。

Document Image

图3-4 MATLAB库编译器生成的Python包安装文件

使用命令行创建Python包

也可以用mcc命令创建Python包。下面是mcc命令的完整语法,带括号的选项为可选项。

code.matlab
mcc -W python:namespace.packageName -T link:lib  mfilename1
     mfilename2...mfilenameN

下面介绍语法的各个部分。

-W

让编译器创建一个打包器函数。该选项带一个字符串参数,指定组件的某些特性。

code.matlab
mfilename1 [mfilename2…mfilenameN]

指定M文件或即将作为要创建的类的方法的M文件。

-T

指定输出类型。要创建Python包,需要指定关键字link:lib,它将对象链接到共享库(DLL)中。

在D盘下新建mypy目录,在MATLAB命令窗口使用下面的命令行将D盘下的mymagic.m编译为Python包。

code.matlab
mcc –W python:mypy –T link:lib –d d:\mypy d:\mymagic.m

编译结果如图3-5所示。其中setup.py文件即为Python包的安装文件。

Document Image

图3-5 用mcc命令进行编译