MATLAB deployTool + Python调用

笔者一直苦恼,matlab deploytool生成的python库,如何在python内调用,经过反复摸索,终于初步完成目标,本文简述了该过程。

MATLAB使用deploytool生成Python库

在matlab的deploytool中可以看到,matlab可以生成多种库,供其他语言编写的程序调用,本文生成并调用了如下图所示的“Python Package”。
在这里插入图片描述在这里插入图片描述
MATLAB编写的函数:

function y = magicpkg(x)
y = magic(x);

MATLAB 的deploytool内几个关键环节已经在如下图所示的红色框体框出。
在这里插入图片描述
python库生成如下图所示的三个文件夹,其中,for_testing文件夹内readme.txt说明了该python库的使用方法。
在这里插入图片描述

python调用

确定好文件版本,笔者使用的是MATLAB R2016b,打包的python package支持python2.7 python3.3 python3.4
使用python3.4

readme.txt使用说明

以下为MATLAB打包python库时生成的readme.txt的简要翻译

Packaging and Deploying magicpkg
1. Prerequisites for Deployment 
部署库的先决条件;
如果电脑内未安装R2016b的matlab环境,需要事先安装该环境,运行for_redistribution文件夹内的.exe文件可以下载安装;

运行软件安装包的安装文件,同时,安装文件开始安装MATLABRuntime,需要注意的是需要使用管理员模式运行。

确认电脑上安装了python2.7 3.3 或 3.4

进入到那个有setup.py文件的文件夹,如果您没有写的许可,那么就需要将其复制到临近的有许可的文件夹内。

在cmd命令行,安装MATLAB生成的python库
    python setup.py install [options]
然后运行setup.py 安装命令。

您有管理员许可的情况下,用默认参数就可以了,不需要指定任何路径。

    import magicpkg
    
使用magicpkg库,只需要import就可以了。

使用pycharm调用库

在这里插入图片描述
代码如下

__author__ = 'afore'

import magicpkg
#magicpkg.initialize_runtime(['-nojvm'])
# python库初始化以及实例化对象
myMagicCreator = magicpkg.initialize()
# 通过对象调用库内的magicpkg函数方法,返回值赋予给pyobj
pyobj = myMagicCreator.magicpkg(5)
print(pyobj)
myMagicCreator.terminate()
print("OK")

运行结果

在这里插入图片描述

参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值