Exporting Matlab code as Python package: Coolprop dependency error

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.

回答 (1 件)

Oliver Jaehrig
Oliver Jaehrig 2024 年 7 月 10 日
編集済み: Walter Roberson 2024 年 7 月 19 日

0 投票

1 件のコメント

VS
VS 2024 年 7 月 19 日
編集済み: VS 2024 年 7 月 19 日
sadly it didn't help. I believe the problem lies in the execution mode of the Matlab runtime. It runs InProcess, and I cannot find a way to invoke it Out-Of-Process

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangePython Package Integration についてさらに検索

質問済み:

VS
2024 年 7 月 9 日

編集済み:

2024 年 7 月 19 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by