簡體   English   中英

Anaconda Python:ModuleNotFoundError:沒有名為“matlab”的模塊

[英]Anaconda Python: ModuleNotFoundError: No module named 'matlab'

我是 Python 和 Linux 的新手,想為 Python 3.6 安裝 MATLAB 引擎。 我已經按照 Mathworks ( http://www.mathworks.com/help/matlab/matlab-engine-for-python.html ) 的步驟操作,並嘗試使用python setup.py build --build-base=$(mktemp -d) install但錯誤仍然出現。 我安裝了 MATLAB R2018a,並在 Anaconda 中使用了 Spyder 3.2.8。

有人有建議嗎?

提前致謝!

如果您嘗試在 conda 環境中安裝 matlab 引擎,請按照以下步驟操作:

cd "matlabroot\extern\engines\python"
python setup.py install --prefix="installdir"

例如

cd /opt/MATLAB/R2019a/extern/engines/python
python setup.py install --prefix="/home/nagabhushan/anaconda3/"

現在,matlab引擎包實際上安裝在單獨的anaconda3/lib/python3.6/site-package/matlab
因此,您需要手動將該 matlab 文件夾移動到您的 python 正在使用的 site-package 文件夾中。 如果您有多個虛擬環境,請將其移動到您將運行程序的虛擬環境的相應站點包文件夾中。 例如anaconda3/envs/my_env/lob/python3.6/site-packages/matlab

參考:
https://stackoverflow.com/a/41800724/3337089
https://stackoverflow.com/a/56553740/3337089

編輯 1(2020 年 3 月 3 日):
我嘗試激活我的環境,然后簡單地安裝 matlab 引擎,它奏效了! 我正在使用Python 3.7

python setup.py install

請注意,這最初給出了錯誤該error: You do not have write permission in build/lib/matlab/engine/ ,但是遞歸地更改構建目錄的權限: sudo chmod -R 777 build/

經過多次測試,我認為我解決了問題。 如果有人有同樣的問題,我會發布答案。 如此處所述: https : //stackoverflow.com/a/39759581/9834571您可以添加替代的 python 命令。 對我來說,當我改變提到的例子時它起作用了:

sudo update-alternatives --install /usr/bin/python python ~/anaconda3/envs/ 2
update-alternatives --display python
cd /usr/local/MATLAB/R2018a/extern/engines/python/
python setup.py build --build-base=$(mktemp -d) install

Nagabhushan SN的答案,在這里,為了安裝MATLAB / matlab.engine與conda (miniconda3)與Linux Ubuntu 18 LTS和Matlab 2018年,我進行下面的步驟。

我用 Python 3.6 解釋器創建了一個新的 conda 環境(python36),Python 3.6 是 Matlab 2018 支持的版本之一(你需要匹配正確的 Pyhton 版本,否則它會安裝 Python 2.7 庫),我直接將 libs 安裝在python36 env子文件夾中,詳細說明:

cd /usr/local/MATLAB/R2018a/extern/engines/python
python setup.py install --prefix="/home/myname/miniconda3/envs/python36"

例如, import matlab.engine現在可以從python36環境使用。

Ps:安裝需要對build子文件夾的寫權限(在usr/local下...),所以你需要去sudo和chmod -R +777 /usr/local/MATLAB/R2018a/extern/engines/python/build

Ps2:僅在基本環境中安裝,在我的情況下,也不會提供 matlab.engine 與其他 conda 環境一起工作......也許這是正常的、預期的conda行為。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM