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

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

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

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

对于 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 函数会立即使用新的搜索路径。