前言:在做模型訓練的時候,import matlab.engine時,會出現bug:“ImportError: No module named matlab.engine”。針對這個問題,我將解決方法總結如下,便於學習交流~
注意事項:目前瞭解到,matlab支持的版本爲2.7,3.3, 3.4 ,3.5 ,3.6不支持。(親測3.5.5有效)
方法步驟如下:
1.利用Anaconda安裝虛擬環境py35,操作如下:
conda create –name py35 python=3.5
2.創建完後,可通過如下方法進行激活:
activate py35
3.(選項)可通過如下命名,查看當前環境下python版本
python
4.創建完python3.5的環境後,接下來對matlab環境進行配置。
5.在matlab軟件安裝路徑下,找到文件目錄“./extern/engines/python”,具體如下所示(紅色框選的文件爲原始存在的文件):
6.win10系統下,win+r打開cmd,將當前文件路徑切換到5中的路徑下。
7.在6中的路徑下依次執行如下命令行:
python setup.py build --build-base="builddir" install
python setup.py install --prefix="installdir"
python setup.py build --build-base="builddir" install --prefix="installdir"
python setup.py install --user
8.執行完成後,生成如上上圖中所示的文件夾。
9.測試代碼:
#coding=utf-8
import matlab.engine
from numpy import *
if __name__ == '__main__':
eng = matlab.engine.start_matlab('MATLAB_R2016b')
A = matlab.double([[1,2],[5,6]])
print(type(A),A.size,A)
print(eng.eig(A))
eng.quit()
pass
結果如下:
10.完成收工!