MySQL Shell 9.0  /  ...  /  模块搜索路径变量在启动脚本中

13.2.2 模块搜索路径变量在启动脚本中

可以使用 MySQL Shell 启动脚本 mysqlshrc.js(用于 JavaScript 模式)或 mysqlshrc.py(用于 Python 模式)自定义 sys.path 变量。有关启动脚本及其位置的更多信息,请参见 第 13.1 节,“使用启动脚本”。使用启动脚本,您可以将模块路径直接追加到 sys.path 变量。

请注意,每个启动脚本仅在相关的语言模式下使用,因此在 JavaScript 模式下为 mysqlshrc.js 指定的模块搜索路径,如果它们未列在 mysqlshrc.py 中,则在 Python 模式下不可用。

对于 Python,请修改 mysqlshrc.py 文件,将所需的路径追加到 sys.path 数组。

# Import the sys module
import sys

# Append the additional module paths
sys.path.append('~/custom/python')
sys.path.append('~/other/custom/modules')

对于 JavaScript,请修改 mysqlshrc.js 文件,将所需的路径追加到 sys.path 数组。

// Append the additional module paths
  sys.path = [...sys.path, '~/custom/js'];
  sys.path = [...sys.path, '~/other/custom/modules'];

您追加到 sys.path 数组的相对路径将相对于当前工作目录解析。

在您以 JavaScript 或 Python 模式启动或重新启动 MySQL Shell 时,以及在 MySQL Shell 运行时第一次切换到这两种模式中的另一种模式时,将加载启动脚本。此后,MySQL Shell 不会再次搜索启动脚本,因此,如果您已经进入相关的模式,则实现对启动脚本的更新需要重新启动 MySQL Shell。或者,您可以在运行时修改 sys.path 变量,在这种情况下,require()import 函数将立即使用新的搜索路径。