进程的执行Python功能
请注意
有开销调用Python®用功能。这种行为会影响性能。MathWorks建议调用Python函数进程内,这是默认的模式。
MATLAB®可以运行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 ExecutionMode: OutOfProcess
创建变量。
py.list ({“周一”,“星期二”,“星期三”,“星期四”,“星期五”})
ans = Python列表没有属性。(周一,周二,周三,周四,周五的)
MATLAB创建一个命名的过程MATLABPyHost
。
pyenv
ans = PythonEnvironment属性:版本:“2.7”可执行:“C: \ Python27 \ pythonw。exe”库:“C: \ windows \ system32系统\ python27。dll:“C: \ Python27”状态:加载ExecutionMode: OutOfProcess ProcessID:“8196 MATLABPyHost“ProcessName:
请注意
清算Python对象是异步的,这意味着Python对象可能仍在Python中调用后的同步调用。例如,下面的代码是可能的myList2
是之前创建的myList
被摧毁。
myList = py.list;清晰的myListmyList2 = py.list;
限制
Python和MATLAB之间传递变量的大小是有限的,当你调用Python函数用2 GB。这一限制适用于数据+支持之间的信息传递过程。万博1manbetx