- install python 3.8 through homebrew (`arch -x86_64 /usr/local/bin/brew install python@3.8`)
- install the matlab engine in this version of python (`/usr/local/opt/python@3.8/bin/python3.8 setup.py install`)
OSError: MATLAB Engine for Python 3.8 on MacBook Pro with M1 chip
14 次查看(过去 30 天)
显示 更早的评论
After running the setup.py file I am trying to import the MATLAB engine from python and i get an OSError:
Please reinstall MATLAB Engine for Python or contact MathWorks Technical Support for assistance: dlopen(/Applications/MATLAB_R2020b.app/extern/engines/python/dist/matlab/engine/maci64/matlabengineforpython3_8.so, 2): no suitable image found. Did find:
/Applications/MATLAB_R2020b.app/extern/engines/python/dist/matlab/engine/maci64/matlabengineforpython3_8.so: mach-o, but wrong architecture
/Applications/MATLAB_R2020b.app/extern/engines/python/dist/matlab/engine/maci64/matlabengineforpython3_8.so: mach-o, but wrong architecture
I have run the usual command:
import matlab.engine
I have MATLAB 2020b latest version running smoothly via rosetta on the said machine. Aren't the MATLAB python engine libraries updated to handle the same.
Kindly help me circumvent this problem.
2 个评论
Peter Somhorst
2021-10-21
编辑:Peter Somhorst
2021-10-21
Hi Mehul,
How did you install Python? I found it doesn't work if you install it through pyenv. What worked for me (installing it, haven't tested anything yet):
NB: Matlab 2021B supports Python 3.9 as well.
Hope this helps!
xenon zhang
2021-11-1
hello, you can use
arch -x86_64 python3
instand of
python3
in terminal to run python as a x86 program (without install another version), then matlab engine can working well
回答(2 个)
alaa Ahmed
2022-5-31
If you are running matlab in Macbook pro with MATLAB 2020b .. Please run this command on matlab command window so that you set the python evironment directory
pyversion /usr/local/bin/python3
Then type pyenv, you will be able to find all PythonEnvironment feilds are filled :D
pyenv
ans =
PythonEnvironment with properties:
Version: "3.8"
Executable: "/usr/local/bin/python3"
Library: "/Library/Frameworks/Python.framework/Versions/3.8/lib/libpython3.8.dylib"
Home: "/Library/Frameworks/Python.framework/Versions/3.8"
Status: NotLoaded
ExecutionMode: OutOfProcess
0 个评论
Rashed Mohammed
2021-1-28
Hi Mehul,
Since you are trying to load matlab engine (which is x86_64) from python3, It is necessary to run python3 also under rosetta2. I was able to reproduce your issue and running python3 under rosetta2 fixed the issue.
Hope this helps!
2 个评论
xenon zhang
2021-11-1
@Hyung-Chun Lee you can try
arch -x86_64 python3
to run your script, for example
arch -x86_64 python3 test.py
instand of
python3 test.py
it work for me
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Call MATLAB from Python 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!