MySQL 外壳 8.0  / 第 13 章自定义 MySQL Shell  / 13.2 添加模块搜索路径  /  13.2.2 启动脚本中的模块搜索路径变量

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

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

请注意,每个启动脚本仅在相关语言模式下使用,因此在 mysqlshrc.jsJavaScript 模式中指定的模块搜索路径如果也列在 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()or import函数会立即使用新的搜索路径。