Python engine for Matlab 2015b

조회 수: 2 (최근 30일)
Etienne Mazel
Etienne Mazel 2017년 8월 7일
답변: Sharath Chandran 2017년 8월 17일
Hi there,
Trying to have pyhton discover runing Matlab shared session on local Windows desktop... I have a rather special setup where Matlab is actually running using a special user on my desktop. I think i needed to make sure that TMP and TEMP environment variables would point to the same value the Matlab process uses. Still the following does not yield anything but empty string:
import os
import matlab.engine
os.environ["TMP"]='C:\\...' #same path as given by getenv('TMP')
os.environ["TEMP"]='C:\\...' #same path as given by getenv('TEMP')
names=matlab.engine.find_matlab()
print('Matlab names:', names)
Outcome is: Matlab names: ()
despite...
>> matlab.engine.isEngineShared
ans =
1
>> matlab.engine.engineName
ans =
MATLAB_6248
>>
Help is welcome.
Thanks

답변 (1개)

Sharath Chandran
Sharath Chandran 2017년 8월 17일
Hi Etienne,
'%TEMP%' is the current standard. On the other hand '%TMP%' dates back to time when only DOS existed.
Please find more info here .
I would suggest you to try following steps:
1. Please make sure that MATLAB engine is shared. To do this execute following command at MATLAB command line:
>> matlab.engine.shareEngine
2. Try running following script:
import os
import matlab.engine
#change made here
os.environ["TMP"]= os.environ["TEMP"];
#same path as given by getenv('TEMP')
os.environ["TEMP"]='C:\\...'
#To make sure that MATLAB engine is connected.
#Following should display '2.0'
eng = matlab.engine.connect_matlab()
print eng.sqrt(4.0)
print "\n"
print matlab.engine.find_matlab()
Hope this helps.
Please feel free to reach out if this issue still persists.

카테고리

Help CenterFile Exchange에서 Call MATLAB from Python에 대해 자세히 알아보기

태그

제품

Community Treasure Hunt

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

Start Hunting!

Translated by