bokeh.application.handlers.code_runner#

提供一个实用类 CodeRunner 供执行 Python 源代码的处理程序使用。

class CodeRunner(source: str, path: str | PathLike[str], argv: list[str], package: ModuleType | None = None)[source]#

编译并运行Python源代码。

__init__(source: str, path: str | PathLike[str], argv: list[str], package: ModuleType | None = None) None[源代码]#
Parameters:
  • source (str) – 一个包含要执行的Python源代码的字符串

  • path (str) – 用于任何调试或错误输出的文件名

  • argv (list[str]) – 一个字符串参数列表,当代码执行时作为 sys.argv 可用

  • package (bool) – 一个可选的包模块用于配置

Raises:

ValueError, 如果为 __init__.py 指定了包

new_module() ModuleType | None[source]#

创建一个新的模块来运行。

Returns:

模块

reset_run_errors() None[source]#

清除之前运行中的任何临时错误条件。

Returns

run(module: ModuleType, post_check: Callable[[], None] | None = None) None[source]#

在模块中执行配置的源代码并运行任何后续检查。

Parameters:
  • module (Module) – 一个用于执行配置代码的模块。

  • post_check (callable, optional) – 一个函数,如果在代码执行后未满足预期的后置条件,则会引发异常。

property doc: str | None#

文档字符串的内容,如果代码包含一个。

property error: str | None#

如果代码执行失败,可能包含相关的错误信息。

property error_detail: str | None#

如果代码执行失败,可能包含回溯或其他详细信息。

property failed: bool#

True 如果代码执行失败

property path: str | PathLike[str]#

新模块将配置的路径。

property source: str#

当调用run时将执行的配置源代码。