最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。
command
" は未定義ですMATLAB® は、コマンド ウィンドウで 「py.
」と入力すると、自動的に Python® を読み込みます。MATLAB に次のメッセージが表示された場合は、エラーが発生しています。command
Undefined variable "py" or function "py.command"
このページを使用してエラーのトラブルシューティングを行います。
サポートされているバージョンの Python がコンピューターにインストールされていません。お使いの MATLAB バージョンについて入門を確認し、https://www.python.org/downloads
から Python をダウンロードしてインストールしてください。
Microsoft® Windows® の場合、Python は既定で Python の 32 ビット バージョンをダウンロードします。MATLAB の 64 ビット バージョンを実行する場合、「Windows x86-64 MSI installer」という名前の Python の 64 ビット バージョンをダウンロードします。詳細は、Windows プラットフォームで 64 ビット バージョンの Python をダウンロードを参照してください。
Linux® システムおよび Mac システムでソース ファイルから Python をビルドする場合は、--enable-shared
オプションを設定してビルドを構成します。
64 ビット バージョンの MATLAB に対して 32 ビット バージョンの Python をインストールしました。64 ビット バージョンの Python をインストールしなければなりません。
Python が標準とは異なる場所にあります。パスを Python 実行可能ファイルに指定するには、関数 pyversion
を使用します。以下に例を示します。
pyversion C:\Users\uname\WinPython-64bit-3..2.1\python-3..2.amd64\python.exe
Windows システムで、Python が Windows レジストリ内に見つかりません。Python インタープリターをダウンロードしたにもかかわらず、Windows レジストリに登録しなかった場合、次のコマンドを使用して Python の場所を指定します。
pyversion executable
ユーザー定義の Python モジュールでエラーが発生しました。モジュール mymod
にエラーが含まれるかどうかをテストするには、次を入力します。
py.importlib.import_module('mymod')
Python がモジュール内のエラーを検出した場合、MATLAB は Python エラー メッセージを表示します。
または、Python コマンド プロンプトで同等のコマンドを実行し、Python エラー メッセージを取得します。
エラーを修正後、更新されたモジュールにアクセスするには、MATLAB を再起動し、モジュールを検索パスに追加します。
command
が有効な Python コマンドである場合、Python モジュールが Python 検索パスに存在することを確認します。モジュール mymod
がパス上にあるかどうかをテストするには、次を入力します。
py.importlib.import_module('mymod')
Python がモジュールを検出できない場合、MATLAB は Python エラー メッセージを表示します。
フォルダー modpath
内の mymod
をパスに追加するには、以下を入力します。
P = py.sys.path; if count(P,'modpath') == 0 insert(P,int32(0),'modpath'); end
Python の検索パスは現在の MATLAB セッションに読み込まれた Python インタープリターに関連付けられます。MATLAB で検索パスを修正できますが、MATLAB の外部で他のインタープリターのインスタンスを実行している場合、修正内容は反映されません。
標準ライブラリ内のモジュールまたはシステムにインストールされているサードパーティ製モジュールと同じ名前の Python モジュールを呼び出した場合、MATLAB は、誤ったモジュールを読み込む可能性があります。
command
を実行しようとするcommand
がユーザー定義のモジュールにある場合、そのモジュール名が Python 標準ライブラリまたはご使用のシステム上のサードパーティ製モジュールと競合していないことを確認します。