install the Python engine error message

I go the following error message. What to do?
>> cd (fullfile(matlabroot,'extern','engines','python'))
>> system('python setup.py install')
'python' is not recognized as an internal or external command,
operable program or batch file.
ans =
1.00
>>

 Accepted Answer

Kojiro Saito
Kojiro Saito on 16 Jul 2020
Edited: Kojiro Saito on 17 Jul 2020
Please make sure that you have downloaded 64bit Python installer from https://www.python.org/downloads/.
Supported Python versions are listed in here. As of R2020a, 2.7, 3.6 and 3.7 are supported.
After installation is complete, please make sure you have added the install folder (for example, C:\Program Files\Python\Python38) to environment variable PATH as described in this document.

11 Comments

I still get the following error message. Please advise.
>> pe = pyenv
pe =
PythonEnvironment with properties:
Version: "3.8"
Executable: "C:\Program Files\pythonw.exe"
Library: "C:\Program Files\python38.dll"
Home: "C:\Program Files"
Status: NotLoaded
ExecutionMode: InProcess
>> cd (fullfile(matlabroot,'extern','engines','python'))
>> system('python setup.py install')
'python' is not recognized as an internal or external command,
operable program or batch file.
ans =
1.00
>>
>> pyenv
ans =
PythonEnvironment with properties:
Version: "3.7"
Executable: "C:\Users\EK\anaconda3\pythonw.exe"
Library: "C:\Users\EK\anaconda3\python37.dll"
Home: "C:\Users\EK\anaconda3"
Status: NotLoaded
ExecutionMode: InProcess
>> cd (fullfile(matlabroot,'extern','engines','python'))
>> system('python setup.py install')
'python' is not recognized as an internal or external command,
operable program or batch file.
ans =
1.00
>>
It seems that Python's path is not included in Windows' PATH environment variable.
You can call system command with full path of Python execution file.
system('"C:\Program Files\python.exe" setup.py install')
It says does not support 3.8 in constrast to the statement above.
>> system('"C:\Python\python.exe" setup.py install')
Traceback (most recent call last):
File "setup.py", line 15, in <module>
raise EnvironmentError('MATLAB Engine for Python supports Python version'
OSError: MATLAB Engine for Python supports Python version 2.7, 3.6, and 3.7, but your version of Python is 3.8
ans =
1.00
>>
What is your MATLAB version? Supported Python versions are different in MATLAB version as listed in in this page. In your MATLAB version, you can use 3.7, so try
system('"C:\Users\EK\anaconda3\python.exe" setup.py install')
Or, if it does not work, you need to install Python 3.7 for 64 bit from CPython installer download page.
Installed 3.7 and still has an error. Please advise.
>> system('"C:\Python37\python.exe" setup.py install')
running install
running build
running build_py
creating build
error: could not create 'build': Access is denied
ans =
1.00
>>
I tried
and right click cmd.ext to run as an administrator. But still has
ans =
1.00
>> system('"C:\Python37\python.exe" setup.py install')
running install
running build
running build_py
creating build
error: could not create 'build': Access is denied
ans =
1.00
>>
It seems that you don't have a write permission to MATLAB_INSTALL\extern\engines\python folder, so setup.py fails creating build folder inside this.
You can change the build folder by adding "build -b SOME\PATH" option.
system('C:\Python37\python.exe setup.py build -b C:\Temp install')
Thank you. Does this mean that it worked? What does it mean?
>> system('C:\Python37\python.exe setup.py build -b C:\Temp install ')
running build
running build_py
creating C:\Temp\lib
creating C:\Temp\lib\matlab
copying dist\matlab\mlarray.py -> C:\Temp\lib\matlab
copying dist\matlab\mlexceptions.py -> C:\Temp\lib\matlab
copying dist\matlab\__init__.py -> C:\Temp\lib\matlab
creating C:\Temp\lib\matlab\engine
copying dist\matlab\engine\basefuture.py -> C:\Temp\lib\matlab\engine
copying dist\matlab\engine\engineerror.py -> C:\Temp\lib\matlab\engine
copying dist\matlab\engine\enginehelper.py -> C:\Temp\lib\matlab\engine
copying dist\matlab\engine\enginesession.py -> C:\Temp\lib\matlab\engine
copying dist\matlab\engine\fevalfuture.py -> C:\Temp\lib\matlab\engine
copying dist\matlab\engine\futureresult.py -> C:\Temp\lib\matlab\engine
copying dist\matlab\engine\matlabengine.py -> C:\Temp\lib\matlab\engine
copying dist\matlab\engine\matlabfuture.py -> C:\Temp\lib\matlab\engine
copying dist\matlab\engine\__init__.py -> C:\Temp\lib\matlab\engine
creating C:\Temp\lib\matlab\_internal
copying dist\matlab\_internal\mlarray_sequence.py -> C:\Temp\lib\matlab\_internal
copying dist\matlab\_internal\mlarray_utils.py -> C:\Temp\lib\matlab\_internal
copying dist\matlab\_internal\__init__.py -> C:\Temp\lib\matlab\_internal
running install
running install_lib
creating C:\Python37\Lib\site-packages\matlab
creating C:\Python37\Lib\site-packages\matlab\engine
copying C:\Temp\lib\matlab\engine\basefuture.py -> C:\Python37\Lib\site-packages\matlab\engine
copying C:\Temp\lib\matlab\engine\engineerror.py -> C:\Python37\Lib\site-packages\matlab\engine
copying C:\Temp\lib\matlab\engine\enginehelper.py -> C:\Python37\Lib\site-packages\matlab\engine
copying C:\Temp\lib\matlab\engine\enginesession.py -> C:\Python37\Lib\site-packages\matlab\engine
copying C:\Temp\lib\matlab\engine\fevalfuture.py -> C:\Python37\Lib\site-packages\matlab\engine
copying C:\Temp\lib\matlab\engine\futureresult.py -> C:\Python37\Lib\site-packages\matlab\engine
copying C:\Temp\lib\matlab\engine\matlabengine.py -> C:\Python37\Lib\site-packages\matlab\engine
copying C:\Temp\lib\matlab\engine\matlabfuture.py -> C:\Python37\Lib\site-packages\matlab\engine
copying C:\Temp\lib\matlab\engine\_arch.txt -> C:\Python37\Lib\site-packages\matlab\engine
copying C:\Temp\lib\matlab\engine\__init__.py -> C:\Python37\Lib\site-packages\matlab\engine
copying C:\Temp\lib\matlab\mlarray.py -> C:\Python37\Lib\site-packages\matlab
copying C:\Temp\lib\matlab\mlexceptions.py -> C:\Python37\Lib\site-packages\matlab
creating C:\Python37\Lib\site-packages\matlab\_internal
copying C:\Temp\lib\matlab\_internal\mlarray_sequence.py -> C:\Python37\Lib\site-packages\matlab\_internal
copying C:\Temp\lib\matlab\_internal\mlarray_utils.py -> C:\Python37\Lib\site-packages\matlab\_internal
copying C:\Temp\lib\matlab\_internal\__init__.py -> C:\Python37\Lib\site-packages\matlab\_internal
copying C:\Temp\lib\matlab\__init__.py -> C:\Python37\Lib\site-packages\matlab
byte-compiling C:\Python37\Lib\site-packages\matlab\engine\basefuture.py to basefuture.cpython-37.pyc
byte-compiling C:\Python37\Lib\site-packages\matlab\engine\engineerror.py to engineerror.cpython-37.pyc
byte-compiling C:\Python37\Lib\site-packages\matlab\engine\enginehelper.py to enginehelper.cpython-37.pyc
byte-compiling C:\Python37\Lib\site-packages\matlab\engine\enginesession.py to enginesession.cpython-37.pyc
byte-compiling C:\Python37\Lib\site-packages\matlab\engine\fevalfuture.py to fevalfuture.cpython-37.pyc
byte-compiling C:\Python37\Lib\site-packages\matlab\engine\futureresult.py to futureresult.cpython-37.pyc
byte-compiling C:\Python37\Lib\site-packages\matlab\engine\matlabengine.py to matlabengine.cpython-37.pyc
byte-compiling C:\Python37\Lib\site-packages\matlab\engine\matlabfuture.py to matlabfuture.cpython-37.pyc
byte-compiling C:\Python37\Lib\site-packages\matlab\engine\__init__.py to __init__.cpython-37.pyc
byte-compiling C:\Python37\Lib\site-packages\matlab\mlarray.py to mlarray.cpython-37.pyc
byte-compiling C:\Python37\Lib\site-packages\matlab\mlexceptions.py to mlexceptions.cpython-37.pyc
byte-compiling C:\Python37\Lib\site-packages\matlab\_internal\mlarray_sequence.py to mlarray_sequence.cpython-37.pyc
byte-compiling C:\Python37\Lib\site-packages\matlab\_internal\mlarray_utils.py to mlarray_utils.cpython-37.pyc
byte-compiling C:\Python37\Lib\site-packages\matlab\_internal\__init__.py to __init__.cpython-37.pyc
byte-compiling C:\Python37\Lib\site-packages\matlab\__init__.py to __init__.cpython-37.pyc
running install_egg_info
Writing C:\Python37\Lib\site-packages\matlabengineforpython-R2020a-py3.7.egg-info
ans =
0
>>
Yes, installation MATLAB engine to Python seems to be completed without an error.
Hello everyone,
I have the same Problem as @alpedhuez but when I try the solution of @Kojiro Saito:
>> cd (fullfile(matlabroot,'extern','engines','python'))
>> system('"C:\Program Files\Python38\python.exe" setup.py build -b C:\Temp install')
I received the following error message:
running build
running build_py
creating C:\Temp
creating C:\Temp\lib
creating C:\Temp\lib\matlab
copying dist\matlab\__init__.py -> C:\Temp\lib\matlab
creating C:\Temp\lib\matlab\engine
copying dist\matlab\engine\basefuture.py -> C:\Temp\lib\matlab\engine
copying dist\matlab\engine\engineerror.py -> C:\Temp\lib\matlab\engine
copying dist\matlab\engine\enginehelper.py -> C:\Temp\lib\matlab\engine
copying dist\matlab\engine\enginesession.py -> C:\Temp\lib\matlab\engine
copying dist\matlab\engine\fevalfuture.py -> C:\Temp\lib\matlab\engine
copying dist\matlab\engine\futureresult.py -> C:\Temp\lib\matlab\engine
copying dist\matlab\engine\matlabengine.py -> C:\Temp\lib\matlab\engine
copying dist\matlab\engine\matlabfuture.py -> C:\Temp\lib\matlab\engine
copying dist\matlab\engine\__init__.py -> C:\Temp\lib\matlab\engine
running install
running install_lib
copying C:\Temp\lib\matlab\engine\_arch.txt -> C:\Program Files\Python38\Lib\site-packages\matlab\engine
error: could not delete 'C:\Program Files\Python38\Lib\site-packages\matlab\engine\_arch.txt': Zugriff verweigert
ans =
1
P.S: I'm using Matlab R2022a and Python 3.8

Sign in to comment.

More Answers (0)

Categories

Tags

Community Treasure Hunt

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

Start Hunting!