Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

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.pysamples フォルダーからコピーして、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.pysetup.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 がインストールされている場所です。

参考

| | | |

関連するトピック