主要内容

ob-produre执行Python功能

笔记

呼叫Python有一个开销®函数超出过程。此行为会影响性能。MathWorks建议在进程中调用Python函数,这是默认模式。

马铃薯®可以在单独的进程中运行Python脚本和函数。在单独的过程中运行Python使您可以:

  • 在与MATLAB不兼容的Python代码中使用一些第三方库。

  • 将MATLAB过程从Python代码中的崩溃隔离。

要运行流程,请致电Pyenv.用来的功能“executionmode”参数设置为“outofprocess”。例如,假设您要创建此功能列表Python环境中的变量。

['周一周二周三周四周五']

创造这一点列表流程外,将MATLAB执行模式设置为“outofprocess”。MATLAB显示有关当前Python环境的信息。

Pyenv(“executionmode”“outofprocess”
ANS = PythonEnvironment使用属性:版本:“2.7”可执行文件:“C:\ Python27 \ Pythonw.exe”库:“C:\ Windows \ System32 \ Python27.dll”主页:“C:\ Python27”状态:Notloaded EtecutionMode:外部处理

创建变量。

py.list({'周一''周二''周三''周四''星期五'})
ans = python列表,没有属性。['周一周二周三周四周五']

Matlab创建一个名为的过程Matlabpyhost.

Pyenv.
ans = pythonenvironment with属性:版本:“2.7”可执行文件:“c:\ python27 \ pythonw.exe”库:“c:\ windows \ system32 \ python27.dll”home:“c:\ python27”状态:加载的executionmode:OutofProcess ProcessID:“8196”ProcessName:“Matlabpyhost”

笔记

清除Python对象是异步的,这意味着在调用同步呼叫后,Python对象可能会留在Python中。例如,在以下代码中,可以MyList2.以前创建的我的列表被摧毁了。

mylist = py.list;清除我的列表mylist2 = py.list;

限制

当您调用Python函数之外,Python和Matlab之间传递的变量大小限制为2 GB。此限制适用于在流程之间传递的数据加支持信息。金宝app

也可以看看