このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
MATLAB 関数のパッケージ化と Python アプリケーションへのデプロイ
前提条件
MATLAB Compiler SDK™ と互換性のあるバージョンの Python がインストールされていることを確認します。詳細については、MATLAB でサポートされている他言語のインターフェイスを参照してください。
アプリケーションの実行には、エンド ユーザーによる MATLAB Runtime のインストールが必要です。テスト目的で、MATLAB Runtime の代わりに MATLAB のインストールを使用することができます。詳細については、MATLAB Runtime のインストールと構成を参照してください。
MATLAB 関数の作成
MATLAB で、パッケージ化する MATLAB コードを調べます。この例では、以下のコードを含む、makesqr.m
という名前の関数を作成します。
function y = makesqr(x)
y = magic(x);
compiler.build.pythonPackage
を使用した Python パッケージの作成
1. 以下のコードを makesqrSample1.m
という名前のサンプル ファイルに保存します。
x = 5; y = makesqr(x);
2. 関数 compiler.build.pythonPackage
と先ほど記述した makesqr.m
ファイルを使用して、Python パッケージをビルドします。名前と値の引数を使用してパッケージ名を指定し、サンプル ファイルを追加します。
buildResults = compiler.build.pythonPackage('makesqr.m',... 'PackageName','MagicSquarePkg',... 'SampleGenerationFiles','makesqrSample1.m',... 'Verbose','on');
compiler.build
コマンドで名前と値の引数を使用して、追加オプションを指定できます。詳細については、compiler.build.pythonPackage
を参照してください。
compiler.build.Results
オブジェクト buildResults
には、ビルド タイプ、生成ファイル、含まれるサポート パッケージ、およびビルド オプションに関する情報が含まれています。
3. この関数により、現在の作業ディレクトリにある MagicSquarePkgpythonPackage
という名前のフォルダー内に以下のファイルが生成されます。
samples\makesqrSample1.py
— Python サンプル アプリケーション ファイル。GettingStarted.html
— パッケージの統合に関する情報が含まれる HTML ファイル。includedSupportPackages.txt
— パッケージに含まれるすべてのサポート ファイルをリストしたテキスト ファイル。mccExcludedFiles.log
— アプリケーションに含まれていないすべてのツールボックス関数のリストが含まれるログ ファイル。サポートされていない関数の詳細については、制限を参照してください。pyproject.toml
— ビルド システム要件および情報が含まれた構成ファイル。pip
でパッケージをビルドする際に使用されます。詳細については、pip.pypa.io/en/stable/reference/build-system/pyproject-toml
を参照してください。readme.txt
— パッケージ化およびインターフェイスの情報が含まれるテキスト ファイル。requiredMCRProducts.txt
— MATLAB Runtime がアプリケーションを実行するために必要な製品の製品 ID が含まれるテキスト ファイル。setup.py
— パッケージをインストールする Python ファイル。unresolvedSymbols.txt
— 未解決のシンボルに関する情報が含まれるテキスト ファイル。
メモ: 生成されたパッケージに MATLAB Runtime やインストーラーは含まれていません。buildResults
オブジェクトを使用してインストーラーを作成するには、compiler.package.installer
を参照してください。
MATLAB により生成された Python アプリケーションのインストールと実行
Python パッケージの作成後、それを Python アプリケーションから呼び出すことができます。この例では、パッケージ化の際に生成されたサンプル Python コードを使用します。このサンプル Python アプリケーション コードは、独自のアプリケーションを記述するためのガイドとして使用できます。
1. 生成された Python ファイル makesqrSample1.py
を samples
フォルダーからコピーして、setup.py
ファイルを含むフォルダーに貼り付けます。makesqrSample1.py
のプログラム コードを以下に示します。
#!/usr/bin/env python """ Sample script that uses the MagicSquarePkg package created using MATLAB Compiler SDK. Refer to the MATLAB Compiler SDK documentation for more information. """ import MagicSquarePkg # Import the matlab module only after you have imported # MATLAB Compiler SDK generated Python modules. import matlab try: my_MagicSquarePkg = MagicSquarePkg.initialize() except Exception as e: print('Error initializing MagicSquarePkg package\\n:{}'.format(e)) exit(1) try: xIn = matlab.double([5], size=(1, 1)) yOut = my_MagicSquarePkg.makesqr(xIn) print(yOut, sep='\\n') except Exception as e: print('Error occurred during program execution\\n:{}'.format(e)) my_MagicSquarePkg.terminate()
2. システム コマンド プロンプトで、makesqrSample1.py
と setup.py
が含まれているフォルダーに移動します。
3. Python コマンド python setup.py install
を使用してアプリケーションをインストールします。既定以外の場所にインストールするには、公式 Python ドキュメンテーションの「Python モジュールのインストール」を参照してください。
4. システム コマンド プロンプトで「python makesqrSample1.py.
」と入力してアプリケーションを実行します。パッケージ化手順でサンプルの MATLAB コードを使用した場合、このアプリケーションはサンプル コードと同じ出力を返します。
[[17.0,24.0,1.0,8.0,15.0],[23.0,5.0,7.0,14.0,16.0],[4.0,6.0,13.0,20.0,22.0],
[10.0,12.0,19.0,21.0,3.0],[11.0,18.0,25.0,2.0,9.0]]
メモ:
macOS では、python
の代わりに mwpython
スクリプトを使用する必要があります。たとえば、mwpython makesqrSample1.py
です。
mwpython
スクリプトは matlabroot
/bin
フォルダーにあります。ここで、"matlabroot
" は MATLAB または MATLAB Runtime がインストールされている場所です。
参考
mwpython
| compiler.build.pythonPackage
| ライブラリ コンパイラ | mcc
| deploytool