Facing below problem while linking CoolProp with MATLAB

pyversion
version: '2.7'
executable: 'C:\Users\Shehryar Ishaque\Anaconda2\python.EXE'
library: 'C:\Users\Shehryar Ishaque\Anaconda2\python27.dll'
home: 'C:\Users\Shehryar Ishaque\Anaconda2'
isloaded: 0
>> [v,e] = pyversion; system([e,' -m pip install --user -U CoolProp'])
'C:\Users\Shehryar' is not recognized as an internal or external command,
operable program or batch file.
ans =
1

 Akzeptierte Antwort

Walter Roberson
Walter Roberson am 27 Dez. 2021
[v,e] = pyversion;
cmd = sprintf('"%s" -m pip install --user -U CoolProp', e);
system(cmd)

4 Kommentare

Thankyou for always helping,
the problem erased. but when i calculate humid properties is give me error like that , will you please guide how to fix
You need py.Coolprop.Coolprop.HAPropsSI
can you please guide me to get py.Coolprop.Coolprop.HAPropsSI resolve the issue
http://www.coolprop.org/apidoc/CoolProp.CoolProp.html documents CoolProp.CoolProp.HAPropsSI so once (recent enough) CoolProp is installed,
T = py.CoolProp.CoolProp.HAPropsSI('T', 'P', '101325', 'H', H, 'R', 1.0)

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Shanmukha Voggu
Shanmukha Voggu am 27 Dez. 2021
Bearbeitet: Shanmukha Voggu am 27 Dez. 2021

0 Stimmen

Hi naveed,
system(command) calls the operating system to execute the specified command.
If you want to run multiple commands, use && between consecutive commands for windows
Refer to documentation of system
Hope this helps!

3 Kommentare

[v,e] = pyversion;
array = [e,' -m pip install --user -U CoolProp']
array = '/usr/bin/python -m pip install --user -U CoolProp'
whos array
Name Size Bytes Class Attributes array 1x49 98 char
array
array = '/usr/bin/python -m pip install --user -U CoolProp'
This tells us that the result of [e,' -m pip install --user -U CoolProp'] is a character vector, as required by system() .
The problem is not in the fact that the character vector is constructed instead of being static. The constructed character vector is as valid for the purpose of system() as if the content of the constructed character vector had been hard-coded in a system() call.
The problem is that the executable name happens to have spaces in it, and Windows is treating those spaces as the end of the command to execute, with the parts after the space being treated as parameters or options to the call. The cure is to ensure that the path to the executable is quoted when it goes into system()
Thanks for clarification.
thank you

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu MATLAB finden Sie in Hilfe-Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by