Borrar filtros
Borrar filtros

How do I properly install Matlab Engine using the anaconda package manager for Python?

364 visualizaciones (últimos 30 días)
At the moment, I'm running Python 3.5 and Matlab R2015a on a 64-bit Windows 10 laptop. I'm using Anaconda as my Python package manager and want to run some Matlab scripts from Python using . I've used the classic Anaconda command to install Matlab engine:
conda install matlab_engine
However, even after Matlab engine has supposedly been installed, I get an error message whenever I type in the following command to Python.
import matlab.engine
The error just reads "no module called matlab". I'm really unsure of what to do. Am I doing something blatantly incorrect or is there another way I can install Matlab engine.
Thank you for your help.
  1 comentario
Jon
Jon el 15 de Ag. de 2017
When I try to run your
conda install matlab_engine
command, I get a PackageNotFoundError, and it doesn't install. Are you sure it's installed?

Iniciar sesión para comentar.

Respuestas (5)

Eli127
Eli127 el 13 de Sept. de 2018
Open Anaconda Prompt (make sure you have the correct python version):
cd matlabroot\extern\engines\python
python setup.py install
'matlabroot' is your MATLAB root directory. In my case it is 'C:\Program Files\MATLAB\R2018a'
  10 comentarios
MD. FAHIM SAHARIAR ALAM ABIR
MD. FAHIM SAHARIAR ALAM ABIR el 19 de Ag. de 2020
Try to set up a new environment:
conda create -vv -n jmatlab python=3.5 jupyter
This trick worked for me.
Trevor Vannoy
Trevor Vannoy el 20 de Oct. de 2020
Editada: Trevor Vannoy el 20 de Oct. de 2020
In addition to what MD. FAHIM SAHARIAR ALAM ABIR said about creating a conda environment with the correct version of python for what your version of MATLAB supports, I also needed to change some folder permissions for setup.py to work on Linux. In particular, I had to take ownership of the "build" folder in "matlabroot/extern/engines/python", as running with setup.py with sudo does not keep my conda environment.
In short, here's what I did:
conda create -n matlab python=3.7
conda activate matlab
cd <matlabroot>/extern/engines/python
mkdir build
sudo chmod 777 build
python setup.py install
Doing that, the matlabengine was installed in my conda env's site-packages.
This was based on the following stackoverflow answer.

Iniciar sesión para comentar.


Burak
Burak el 18 de Jun. de 2019
I think conda doesn't have a package named "matlab_engine".
I was able to run matlab functions within the python. I installed the module with a slight variation on Ubuntu 16.04:
cd matlabroot/extern/engines/python
python setup.py install --prefix "<anaconda installation directory>"
As a general advice, just make sure that matlab module is installed in a folder where your python can see it (i.e. sys.path contains the directory of installation).
  2 comentarios
Elizabeth Huaroc
Elizabeth Huaroc el 4 de Feb. de 2021
Thank you! That is exactly the trick! I followed the instructions on the Mathworks website, but before
import matlab.engine
I just add the folder where the matlab module was installed to my sys.path.
Where is my matlab module install?
In the terminal, after
python setup.py install
the installation folder is mentioned. For me it was something like "...anaconda3/lib/python3.8/site-packages".
Daria Ri
Daria Ri el 12 de Mayo de 2021
Thank you! You're a life saver! Worked for me after days of trying

Iniciar sesión para comentar.


Ehsan Shahini
Ehsan Shahini el 20 de Mayo de 2021
In linux:
First activate your environment:
conda activate
Then simply install the engine:
cd /usr/local/MATLAB/R2020b/extern/engines/python
python setup.py install
This worked for me.

Alberto Bortoni
Alberto Bortoni el 20 de Dic. de 2022
This may be a workaround but it def works
To ensure that the right python via anaconda is accesed by matlab (and for that matter other programs)
open the anaconda prompt. activate any environment you desire (or stay in base). Then open matlab from within by typing "matlab" (no quotes)

Steven Lewis
Steven Lewis el 26 de Jun. de 2024 a las 21:01
I am using MATLAB R2024a and anaconda v24.1.2. I am trying to install matlab.engine on a specific anaconda environment, but when I naviagte to the setup.py file in the matlabroot directory tree I get the error:
C:\Users\steve\.conda\envs\3d_model_analysis\Lib\site-packages\setuptools\_distutils\cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated.
!!
********************************************************************************
Please avoid running ``setup.py`` directly.
Instead, use pypa/build, pypa/installer or other
standards-based tools.
See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
********************************************************************************
!!
self.initialize_options()
C:\Users\steve\.conda\envs\3d_model_analysis\Lib\site-packages\setuptools\_distutils\cmd.py:66: EasyInstallDeprecationWarning: easy_install command is deprecated.
!!
********************************************************************************
Please avoid running ``setup.py`` and ``easy_install``.
Instead, use pypa/build, pypa/installer or other
standards-based tools.
See https://github.com/pypa/setuptools/issues/917 for details.
********************************************************************************
!!
self.initialize_options()
TEST FAILED: C:Users\steve\.conda\pkgs\Lib\site-packages\ does NOT support .pth files
bad install directory or PYTHONPATH
You are attempting to install a package to a directory that is not
on PYTHONPATH and which Python does not read ".pth" files from. The
installation directory you specified (via --install-dir, --prefix, or
the distutils default setting) was:
C:Users\steve\.conda\pkgs\Lib\site-packages\
and your PYTHONPATH environment variable currently contains:
''
Here are some of your options for correcting the problem:
* You can choose a different installation directory, i.e., one that is
on PYTHONPATH or supports .pth files
* You can add the installation directory to the PYTHONPATH environment
variable. (It must then also be on PYTHONPATH whenever you run
Python and want to use the package(s) you are installing.)
* You can set up the installation directory to support ".pth" files by
using one of the approaches described here:
https://setuptools.pypa.io/en/latest/deprecated/easy_install.html#custom-installation-locations
Please make the appropriate changes for your system and try again.
C:\Users\steve\.conda\envs\3d_model_analysis\Lib\site-packages\setuptools\command\sdist.py:117: SetuptoolsDeprecationWarning: `build_py` command does not inherit from setuptools' `build_py`.
!!
********************************************************************************
Custom 'build_py' does not implement 'get_data_files_without_manifest'.
Please extend command classes from setuptools instead of distutils.
See https://peps.python.org/pep-0632/ for details.
********************************************************************************
!!
self._add_data_files(self._safe_data_files(build_py))
zip_safe flag not set; analyzing archive contents...
matlab.__pycache__.__init__.cpython-311: module references __file__
matlab.__pycache__.__init__.cpython-311: module references __path__
matlab.engine.__pycache__.__init__.cpython-311: module references __file__
(3d_model_analysis) C:\Program Files\MATLAB\R2024a\extern\engines\python>python setup.py install --prefix "C:/Users/steve/.conda/pkgs"
C:\Users\steve\.conda\envs\3d_model_analysis\Lib\site-packages\setuptools\_distutils\cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated.
!!
********************************************************************************
Please avoid running ``setup.py`` directly.
Instead, use pypa/build, pypa/installer or other
standards-based tools.
See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
********************************************************************************
!!
self.initialize_options()
C:\Users\steve\.conda\envs\3d_model_analysis\Lib\site-packages\setuptools\_distutils\cmd.py:66: EasyInstallDeprecationWarning: easy_install command is deprecated.
!!
********************************************************************************
Please avoid running ``setup.py`` and ``easy_install``.
Instead, use pypa/build, pypa/installer or other
standards-based tools.
See https://github.com/pypa/setuptools/issues/917 for details.
********************************************************************************
!!
self.initialize_options()
TEST FAILED: C:Users\steve\.conda\pkgs\Lib\site-packages\ does NOT support .pth files
bad install directory or PYTHONPATH
You are attempting to install a package to a directory that is not
on PYTHONPATH and which Python does not read ".pth" files from. The
installation directory you specified (via --install-dir, --prefix, or
the distutils default setting) was:
C:Users\steve\.conda\pkgs\Lib\site-packages\
and your PYTHONPATH environment variable currently contains:
''
Here are some of your options for correcting the problem:
* You can choose a different installation directory, i.e., one that is
on PYTHONPATH or supports .pth files
* You can add the installation directory to the PYTHONPATH environment
variable. (It must then also be on PYTHONPATH whenever you run
Python and want to use the package(s) you are installing.)
* You can set up the installation directory to support ".pth" files by
using one of the approaches described here:
https://setuptools.pypa.io/en/latest/deprecated/easy_install.html#custom-installation-locations
Please make the appropriate changes for your system and try again.
C:\Users\steve\.conda\envs\3d_model_analysis\Lib\site-packages\setuptools\command\sdist.py:117: SetuptoolsDeprecationWarning: `build_py` command does not inherit from setuptools' `build_py`.
!!
********************************************************************************
Custom 'build_py' does not implement 'get_data_files_without_manifest'.
Please extend command classes from setuptools instead of distutils.
See https://peps.python.org/pep-0632/ for details.
********************************************************************************
!!
self._add_data_files(self._safe_data_files(build_py))
zip_safe flag not set; analyzing archive contents...
matlab.__pycache__.__init__.cpython-311: module references __file__
matlab.__pycache__.__init__.cpython-311: module references __path__
matlab.engine.__pycache__.__init__.cpython-311: module references __file__

Categorías

Más información sobre Introduction to Installation and Licensing en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by