メインコンテンツ

Python サポートに関する制限

MATLAB® の Python® インターフェイスを使用すると、Python ライブラリにアクセスしたり、Python ステートメントを実行したり、MATLAB と Python 間でデータを渡したりできます。ただし、Python インターフェイスでは現在、次の機能はサポートされていません。

MATLAB でサポートされていない機能

インプロセス実行モードを使用した MATLAB を実行中の Python インタープリターの終了

Python オブジェクトの MAT ファイルへの保存 (シリアル化)

並列プール内のプロセス ワーカーへの Python オブジェクトの受け渡し

Python オブジェクト、または pyargs で作成されたキーワード引数の、MATLAB dictionary 関数へのキー引数としての受け渡し、または keyMatch 関数への入力としての受け渡し

入力引数なしでの Python ヘルプ (py.help) の呼び出し

Python クラスの静的プロパティへのアクセス

MATLAB isa 関数を使用したバーチャル継承の認識

Python クラスからの MATLAB クラスの継承

(動的な) 属性アクセスのカスタマイズ

Python クラスの入れ子化

Python モジュール (multiprocessing モジュールなど) を使用した MATLAB の起動

Python モジュール (tkinter など) を使用した、Python スクリプトに渡されたコマンド ライン引数の読み取り

動的に生成される Python クラス

新しいオブジェクト属性の動的な付加。代わりに、Python py.setattr 関数を使用してください。

先頭がアンダースコア (_) 文字のクラス名または他の識別子の使用。代わりに、Python 関数 py.getattr および py.setattr を使用してください。

MATLAB Compiler SDK™ によって生成された Python モジュールの使用

macOS プラットフォームのインターフェイス用に Cocoa (AppKit) を使用する Python コードの使用

アウトプロセスで Python 関数を呼び出す際における、Python と MATLAB 間での 2 GB を超える変数の受け渡し。この制限は、プロセス間で渡されるデータとサポート情報に適用されます。

pyrunまたはpyrunfileを使用して定義された Python クラスの変更。詳細については、MATLAB から Python 機能を直接呼び出すを参照してください。

入力としてネイティブの Python コードを提供する、pyrunpyrunfile、またはPython コードの実行のタスクを使用する際における、Python 型ヒントに基づく型の変換

サポートされていない MATLAB

以下の MATLAB 型は、Python ではサポートされていません。

  • スパース配列

  • 非スカラー struct 配列

  • categorical

  • containers.Map

  • MATLAB オブジェクト

  • matlab.metadata.Class (py.class)

参考

トピック