How to to deal error “Unable to launch MVM server: License Error: Error checking out license” when attemptting to call matlab function through python?

When I run a python code which call some matlab function on linux server, the err message returns as follows:
Traceback (most recent call last):
File "LaplacianMatrixMatlabEngine.py", line 20, in <module>
engine = matlab.engine.start_matlab()
File "/home/task3/dylan/anaconda3/lib/python3.7/site-packages/matlab/engine/__init__.py", line 117, in start_matlab
eng = future.result()
File "/home/task3/dylan/anaconda3/lib/python3.7/site-packages/matlab/engine/futureresult.py", line 67, in result
return self.__future.result(timeout)
File "/home/task3/dylan/anaconda3/lib/python3.7/site-packages/matlab/engine/matlabfuture.py", line 87, in result
handle = pythonengine.getMATLAB(self._future)
matlab.engine.EngineError: Unable to launch MVM server: License Error: Error checking out license
so how can I deal this error to make my code work?

5 Comments

The error seems clear to me, matlab couldn'st start because it either isn't licensed or could not get a license from the license server.
Have you checked the license status of matlab on that machine for the user that is running the script?
But I can run my code successfully when the matlab desktop is activated, this error will only turn out when I submit a task to server.
It's not clear to me what the distinction is between "matlab desktop" and "the server". If these are two different machines, then it's not relevant what's on your desktop, it's matlab on the server that needs to be licensed.
Similarly, if the python code runs under a different user, it's that user that needs to have matlab licensed (unless the license is tied to the computer, not sure if that's an option with matlab).
Sorry for the disturbing message, I am using python to call matlab function on a linux server, but it turns out that I can only rum my code through an IDE (ie. spyder3) on the login node, if I submit my task to the calculate node on server, the result will turn out the error showing above.
I have a same issue, so what is the final solution here..?

Sign in to comment.

Answers (1)

In my case I was using conda and I activated the Matlab license in the base environment, but not in the one I was actually using to run the matlab.engine. So I ran the activation script in the current environment directly:
bash /usr/local/matlab/bin/activate_matlab.sh
and it worked! This script requires a display though, so you should look for an alternative if you don't have one, e.g., you're running this on a cloud server with no RDP available.

Categories

Products

Release

R2019a

Asked:

on 21 Jul 2019

Answered:

on 15 May 2023

Community Treasure Hunt

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

Start Hunting!