Error 5001 when I use python multiprocessing module, which calls Matlab functions

조회 수: 11 (최근 30일)
BlueDragon
BlueDragon 2024년 3월 23일
답변: Esther 2024년 3월 28일
I used python multiprocessing module for multiprocessing a image processs function, in which I started a Matlab engine and call Matlab functions. Then it appeared many pop-ups: Error 5001 - Unable to access services required to run MATLAB.
I tried to start the Matlab engine in main function and passed the engine as parameters to the image function, but then it appeared TypeError: cannot pickle 'weakref.ReferenceType' object.
The rough code is as follows:
def ImageProcess(data):
eng = matlab.engine.start_matlab()
...
return results
if __name__ == '__main__':
pool = multiprocessing.Pool()
results = pool.map(ImageProcess, data)
pool.close()
pool.join()

답변 (1개)

Esther
Esther 2024년 3월 28일
This error indicates that the MATLAB has encountered a licensing issue. Try the solutions below to resolve the error:

카테고리

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

Community Treasure Hunt

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

Start Hunting!

Translated by