特定のシェル環境内でMATLABが使いたいです。
3 ビュー (過去 30 日間)
古いコメントを表示
私は Parrot 社の ANAFI を操作するための計算ソフトとして MATLAB&Simulink を使用しています。
MathWorks のホームページを参考に通常の状態では Python と MATLAB を連携させることができたのですが、実際に ANAFI を飛行させるためのシェルスクリプト内では作成したプログラムを実行すると「ImportError: cannot import name 'matlab'」となってしまいます。
また、動かしている Linux の使用経験は浅いため MathWorks、Parrot のホームページを見てもいまいち分かりません。
使用しているバージョンは、R2020a (MATLAB)、Ubuntu 18.04 LTS、Python3.6 です。
どのようにすればこの問題を解決できますか。ご返答の方よろしくお願いします。
4 件のコメント
Kojiro Saito
2020 年 10 月 8 日
Python環境をアクティブにするというのは具体的にどのように行っていますでしょうか?
また、Pythonスクリプトの実行は、ANAFIのPython環境からpython xxx.py のように実行しているのでしょうか?
採用された回答
Kojiro Saito
2020 年 10 月 19 日
編集済み: Kojiro Saito
2020 年 10 月 27 日
ParrotのSDKで使用するPython Olympe環境で、標準Pythonの環境で入れたパッケージが見られていないようです。
の「Manual dependency installation」のワークアラウンドにあるように、Olympe側のsetenvにmatlabのパッケージが含むディレクトリを追加してみてはいかがでしょうか?
例えばmatlabパッケージが/usr/local/lib/python3.6/dist-packages/matlabにインストールされている場合、Ubuntuのターミナルで
export PYTHONPATH=/usr/local/lib/python3.6/dist-packages/
としてから
echo "export PYTHONPATH=\$PYTHONPATH:~/code/parrot-groundsdk/out/olympe-linux/final/usr/lib/python/site-packages/" >> ~/code/parrot-groundsdk/products/olympe/linux/env/setenv
とするとOlymeのPython環境にPYTHONPATHのディレクトリが追加されます。
UPDATE
別の方法としては、plympe-python3環境でsys.path.appendを使ってカスタムの検索パスを追加するやり方もあります。
ターミナルで(plympe-python3) $に切り替わった後、下記のコマンドを実行するか、Pythonスクリプトに追加することで/usr/local/lib/python3.6/dist-packagesにあるmatlabパッケージを呼び出せるようになります。
import sys
sys.path.append('/usr/local/lib/python3.6/dist-packages')
import matlab
10 件のコメント
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!