PyInstaller を使用して Python 用の MATLAB エンジン API をパッケージ化するにはどのようにしますか?
9 ビュー (過去 30 日間)
古いコメントを表示
MathWorks Support Team
2024 年 11 月 20 日 0:00
回答済み: MathWorks Support Team
2024 年 11 月 20 日 5:01
Python 用の MATLAB Engine API を使用する Python アプリケーションをパッケージ化するために PyInstaller を使用しています。作成された実行可能ファイルには Python パッケージ「matlab」はバンドルされていません。その結果、実行可能ファイルを起動すると、次のエラーが発生します。
-------------------
ModuleNotFoundError: No module named 'matlab'
-------------------
PyInstaller を使用して Python 用の MATLAB エンジン API をパッケージ化するにはどうすればよいですか?
採用された回答
MathWorks Support Team
2024 年 11 月 20 日 0:00
MATLAB Engine API パッケージをアプリに含めるには、以下の手順に従います。
1.PyInstaller の Python ターゲット ファイルを含むディレクトリに移動し、まだ存在しない場合は「hooks」という名前のディレクトリを作成します。
2.「hooks」ディレクトリ内に、「matlab」パッケージをインポートするための次のコードを含む「hook-matlab.py」という Python スクリプトを作成します。
-------------------
from PyInstaller.utils.hooks import collect_all
datas, binaries, hiddenimports = collect_all('matlab')
-------------------
3. 「--additional-hooks-dir」オプションを指定した PyInstaller を使用して Python アプリケーションをパッケージ化します。
-------------------
pyinstaller <Python target file> --additional-hooks-dir=hooks
-------------------
<追加のトラブルシューティング>
ケース 1: MATLAB Python エンジンがデフォルトの場所にインストールされていない場合
pyinstaller コマンドを実行するときに、パス情報を追加する必要があります。
-------------------
pyinstaller <Python target file> --additional-hooks-dir=hooks --paths <path to the "matlab" folder>
-------------------
ケース2: MATLAB R2024a以降の場合
次のエラーが表示される場合
-------------------
ImportError: DLL load failed while importing matlabmultidimarrayforpython: The specified module could not be found.
-------------------
「matlabmultidimarrayforpython」ライブラリへのパスを「パス」に含める必要があります。たとえば、
-------------------
pyinstaller <Python target file> --additional-hooks-dir=hooks --paths "C:\Program Files\MATLAB\R2024a\extern\bin\win64"
-------------------
ケース3: インストール破損エラーの場合
実行ファイルの実行時に次のエラーが表示された場合、
-------------------
the MATLAB Engine for Python install is corrupted
-------------------
「hooks」フォルダの設定に問題があります。たとえば、hooks フォルダが存在しない、"--additional-hooks-dir=hooks" フラグが使用されていない、または "hook-matlab.py" ファイルが存在しないなどです。
0 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で ビッグ データの処理 についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!