Exporting Matlab code as Python package: Coolprop dependency error
1 回表示 (過去 30 日間)
古いコメントを表示
I have a Matlab code that accesses python wrapper for CoolProp and uses CoolProp.CoolProp.PropsSI function calls to get state properties in the form of py.CoolProp.CoolProp.PropsSI(...).
For example:
function T = test(p)
T= py.CoolProp.CoolProp.PropsSI('T','P',p,'Q',0,"Nitrogen");
end
If you run it from Matlab, everything works.
Following the steps in Create Python Application Using Library Compiler App I exported the Matlab functions as a python package. It is explicitly stated that the dependencies are recognized and added automatically. However, I encountered the following error when a function is called (see Package MATLAB Function and Deploy to Python Application) in Python:
import matlab_package as mtl
handle = mtl.initialize()
T = handle.test(100000)
MatlabRuntimeError: An error occurred when evaluating the result from a function. Details: File ....m, line ..., in ...\mcrCache23.2\...\...\....m, line ..., in run_model Unable to resolve the name 'py.CoolProp.CoolProp.PropsSI'.
I am not sure how I need to export it so that the dependency works. Any help?
UPDATE:
I narrowed down the issue to the InProcess operation of MatlabRuntime. Is there a way to invoke it Out-Of-Process? I have included
pyenv(ExecutionMode="OutOfProcess")
into the packaged matlab function, but it doesn't seem help it.
0 件のコメント
回答 (1 件)
Oliver Jaehrig
2024 年 7 月 10 日
編集済み: Walter Roberson
2024 年 7 月 19 日
Please consider following this workflow:
参考
カテゴリ
Help Center および File Exchange で Python Package Integration についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!