MySQL Shell 8.0  /  MySQL Shell のカスタマイズ  /  モジュール検索パスの追加

このページは機械翻訳したものです。

10.2 モジュール検索パスの追加

JavaScript で require() 関数を使用する場合、または Python で import 関数を使用する場合、sys.path 変数にリストされている既知のモジュール検索パスを使用して、指定したモジュールが検索されます。MySQL Shell は sys.path 変数を初期化して、次のモジュール検索パスを含めます:

  • モジュール検索パス環境変数 (JavaScript モードの場合は MYSQLSH_JS_MODULE_PATH、Python モードの場合は PYTHONPATH) で指定されたフォルダ。

  • JavaScript の場合、MySQL Shell ホームフォルダのサブフォルダ share/mysqlsh/modules/js、または mysqlsh バイナリを含むフォルダのサブフォルダ/modules/js(ホームフォルダが存在しない場合)。

  • Python の場合、Python 標準インポート機構の場合と同様に、インストールに依存するデフォルトパス。

MySQL Shell では、require() または import 関数を使用して組込みモジュール mysql および mysqlx をロードすることもでき、sys.path 変数を使用してこれらのモジュールを指定する必要はありません。

JavaScript モードの場合、MySQL Shell は、指定された場所 (優先順位に従って) で見つかった最初のモジュール、指定された名前にファイル拡張子 .js が付いたファイル、または指定された名前のフォルダに含まれる init.js ファイルをロードします。 Python モードでは、Python 標準インポート機構を使用して、MySQL Shell のすべてのモジュールをロードします。

JavaScript モードでは、MySQL Shell 8.0.19 から、MySQL Shell は require() 関数によるローカルモジュールのロードもサポートしています。 ./または ../の接頭辞が付いたモジュール名またはパスをバッチモードで指定すると、MySQL Shell は、現在実行されている JavaScript ファイルまたはモジュールを含むフォルダ内で指定されたモジュールを検索します。 対話型モードでは、これらの接頭辞のいずれかが指定されると、MySQL Shell は現在の作業ディレクトリ内を検索します。 そのフォルダにモジュールが見つからない場合、MySQL Shell は、sys.path 変数で指定された既知のモジュール検索パスの確認に進みます。

既知のモジュール検索パスを sys.path 変数に追加するには、JavaScript モードまたは Python モードのモジュール検索パス環境変数に追加するか (セクション10.2.1「モジュール検索パスの環境変数」 を参照)、MySQL Shell 起動スクリプト (JavaScript モードまたは Python モードの場合) を使用して直接 sys.path 変数に追加します (セクション10.2.2「起動スクリプトのモジュール検索パス変数」 を参照)。 実行時に sys.path 変数を変更して、require() または import 関数の動作をすぐに変更することもできます。