PyInstaller を使用して Python 用の MATLAB エンジン API をパッケージ化するにはどのようにしますか?
9 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
MathWorks Support Team
le 20 Nov 2024 à 0:00
Réponse apportée : MathWorks Support Team
le 20 Nov 2024 à 5:01
Python 用の MATLAB Engine API を使用する Python アプリケーションをパッケージ化するために PyInstaller を使用しています。作成された実行可能ファイルには Python パッケージ「matlab」はバンドルされていません。その結果、実行可能ファイルを起動すると、次のエラーが発生します。
-------------------
ModuleNotFoundError: No module named 'matlab'
-------------------
PyInstaller を使用して Python 用の MATLAB エンジン API をパッケージ化するにはどうすればよいですか?
Réponse acceptée
MathWorks Support Team
le 20 Nov 2024 à 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 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur ビッグ データの処理 dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!