按这个链接http://www.zhanshaoyi.com/14416.html的方法去安装matlab r2020a,我的安装目录为D:\matlab。因为项目用的python3.7,而且是在Anaconda3环境中,调用matlab时报错:no module named matlabengineforpython3_7,报错地点在__init__.py里面。
百度了一下,有些方法:
1.在D:\matlab\extern\engines\python里的setup.py加上_supported_versions = [‘2.7’, ‘3.4’, ‘3.5’, ‘3.6’, ‘3.7’]
2.import matlab.engine导入的时候,前面不要导入其他内置模块
3.在win10系统下,win+r打开cmd,将当前路径切换到到D:\matlab\extern\engines\python,然后执行python setup.py build --build-base=“builddir” install命令
4.还有说python3.7不支持这个版本的。
试了一下,这些方法都不管用。
最后怎么解决的:
找到路径:D:\Anaconda3\envs\env_wx\Lib\site-packages\matlab\engine
【注:这个路径是我Anaconda3的路径,找到自己anaconda的路径】
里面有_arch.txt文件,打开它,会看见:
C:\Program\Files\Polyspace\R2020a\extern\engines\python…\bin\win64
C:\Program\Files\Polyspace\R2020a\extern\engines\python\dist\matlab\engine\win64
把这两行改成:
D:\matlab\extern\engines\python…\bin\win64
D:\matlab\extern\engines\python\dist\matlab\engine\win64
总结:anaconda3环境的matlab引擎默认会C盘找matlabengineforpython3_7.pyd,如果matlab R2020a装在D盘,它会找不到