bokeh.settings#

使用环境变量控制全局配置选项。一个全局设置对象,Bokeh 的其他部分可以引用它。

定义的设置#

可以通过访问器方法,在 bokeh.settings.settings 实例上访问设置。例如

settings.minified()

Bokeh 提供以下定义的设置

allowed_ws_origin#

类型:

List[String]

环境变量:

BOKEH_ALLOW_WS_ORIGIN

默认值:

[]

开发默认值:

(未设置)

Bokeh 服务器应用程序允许的 Websocket 来源的逗号分隔列表。

auth_module#

类型:

String

环境变量:

BOKEH_AUTH_MODULE

默认值:

None

开发默认值:

(未设置)

一个实现 Bokeh 服务器用户身份验证功能的 Python 模块路径。

警告

此模块的内容将被执行!

browser#

类型:

String

环境变量:

BOKEH_BROWSER

默认值:

None

开发默认值:

‘none’

Bokeh 用于显示文档的默认浏览器。

有效值为 Python 标准库 webbrowser 模块理解的任何预定义浏览器名称。

version#

类型:

String

环境变量:

BOKEH_CDN_VERSION

默认值:

None

开发默认值:

(未设置)

使用 CDN 资源的 BokehJS 版本。

有关完整详细信息,请参阅 Resources 类参考。

chromedriver_path#

类型:

String

环境变量:

BOKEH_CHROMEDRIVER_PATH

默认值:

None

开发默认值:

(未设置)

chromedrive 可执行文件的名称或完整路径。

这用于允许 bokeh.io.export 在使用不同名称的 chromedriver 系统上工作,例如 chromedriver-binarychromium.chromedriver (或其变体,例如 Snap 包管理器使用;请参阅 https://snapcraft.io/)。

docs_cdn#

类型:

String

环境变量:

BOKEH_DOCS_CDN

默认值:

None

开发默认值:

(未设置)

在构建文档时用于加载 CDN 资源的 BokehJS 版本。

要使用本地构建的 BokehJS 构建和显示文档,请使用 local。例如

BOKEH_DOCS_CDN=local make clean serve

将使用本地构建的 BokehJS 构建文档的新副本,并打开一个新浏览器选项卡以查看它们。

否则,该值将被解释为 CDN 版本。例如

BOKEH_DOCS_CDN=1.4.0rc1 make clean

将构建使用 CDN 上的 BokehJS 版本 1.4.0rc1 的文档。

docs_version#

类型:

String

环境变量:

BOKEH_DOCS_VERSION

默认值:

None

开发默认值:

(未设置)

构建文档时指定的 Bokeh 版本。

此设置对于使用新修复或更改重新部署现有版本的文档是必需的。

ico_path#

类型:

Ico 路径

环境变量:

BOKEH_ICO_PATH

默认值:

‘default’

开发默认值:

‘default-dev’

配置 Bokeh 服务器用作 favicon.ico 文件的 .ico 文件的路径。

该值应该是 .ico 文件的完整路径,或者以下特殊值之一

  • default 使用默认项目 .ico 文件

  • none 完全关闭 favicon.ico 支持

ignore_filename#

类型:

Bool

环境变量:

BOKEH_IGNORE_FILENAME

默认值:

False

开发默认值:

(未设置)

保存 Bokeh 内容时是否忽略当前脚本文件名。

log_level#

类型:

String

环境变量:

BOKEH_LOG_LEVEL

默认值:

‘info’

开发默认值:

‘debug’

设置 JavaScript BokehJS 代码的日志级别。

有效值为,按严重性递增排序

  • trace

  • debug

  • 信息

  • warn

  • error

  • fatal

minified#

类型:

Bool

环境变量:

BOKEH_MINIFIED

默认值:

True

开发默认值:

False

Bokeh 是否应该使用最小化的 BokehJS 资源。

nodejs_path#

类型:

String

环境变量:

BOKEH_NODEJS_PATH

默认值:

None

开发默认值:

(未设置)

Node 可执行文件的路径。

NodeJS 是一个可选的依赖项,它是 PNG 和 SVG 导出以及编译自定义扩展所必需的。Bokeh 将尝试自动定位已安装的 Node 可执行文件。使用此环境变量来覆盖 Bokeh 找到的位置,或指向非标准位置。

validate_doc#

类型:

Bool

环境变量:

BOKEH_VALIDATE_DOC

默认值:

True

开发默认值:

(未设置)

Bokeh 是否应该对文档执行验证检查。

将此值设置为 False 可能会带来少量性能提升。

pretty#

类型:

String

环境变量:

BOKEH_PRETTY

默认值:

False

开发默认值:

True

JSON 字符串是否应该进行漂亮打印。

py_log_level#

类型:

日志级别

环境变量:

BOKEH_PY_LOG_LEVEL

默认值:

‘none’

开发默认值:

‘debug’

Python Bokeh 代码的日志级别。

有效值为,按严重性递增排序

  • trace

  • debug

  • 信息

  • warn

  • error

  • fatal

  • none

resources#

类型:

String

环境变量:

BOKEH_RESOURCES

默认值:

‘cdn’

开发默认值:

‘服务器’

要配置哪种 BokehJS 资源,例如 inlinecdn

有关完整详细信息,请参阅 Resources 类参考。

rootdir#

类型:

String

环境变量:

BOKEH_ROOTDIR

默认值:

None

开发默认值:

(未设置)

relative 资源一起使用的根目录

有关完整详细信息,请参阅 Resources 类参考。

default_server_host#

类型:

String

环境变量:

BOKEH_DEFAULT_SERVER_HOST

默认值:

‘localhost’

开发默认值:

(未设置)

允许定义 Bokeh 服务器和资源使用的默认主机。

default_server_port#

类型:

整数

环境变量:

BOKEH_DEFAULT_SERVER_PORT

默认值:

5006

开发默认值:

(未设置)

允许定义 Bokeh 服务器和资源使用的默认端口。

secret_key#

类型:

String

环境变量:

BOKEH_SECRET_KEY

默认值:

None

开发默认值:

(未设置)

一个 Bokeh 部署独有的长且加密安全的随机密钥。

serialize_include_defaults#

类型:

String

环境变量:

BOKEH_SERIALIZE_INCLUDE_DEFAULTS

默认值:

False

开发默认值:

(未设置)

序列化 HasProps 实例时是否包含默认值。

这主要用于测试、调试序列化/协议和其他内部目的。

sign_sessions#

类型:

String

环境变量:

BOKEH_SIGN_SESSIONS

默认值:

False

开发默认值:

(未设置)

Bokeh 服务器是否应该只允许使用密钥签名的会话。

如果为 True,则也必须设置 BOKEH_SECRET_KEY

simple_ids#

类型:

Bool

环境变量:

BOKEH_SIMPLE_IDS

默认值:

True

开发默认值:

(未设置)

Bokeh 是否应该对模型 ID 使用简单的整数(从 1000 开始)。

如果为 False,Bokeh 将对对象标识符使用 UUID。这可能需要,例如,如果多个进程贡献到单个 Bokeh 文档。

ssl_certfile#

类型:

String

环境变量:

BOKEH_SSL_CERTFILE

默认值:

None

开发默认值:

(未设置)

SSL 终止的证书文件路径。

ssl_keyfile#

类型:

String

环境变量:

BOKEH_SSL_KEYFILE

默认值:

None

开发默认值:

(未设置)

SSL 终止的私钥文件路径。

ssl_password#

类型:

String

环境变量:

BOKEH_SSL_PASSWORD

默认值:

None

开发默认值:

(未设置)

解密 SSL 密钥文件的密码(如果需要)。

validation_level#

类型:

验证级别

环境变量:

BOKEH_VALIDATION_LEVEL

默认值:

‘none’

开发默认值:

(未设置)

验证检查是否应在错误和警告时记录或引发异常。

有效值为

  • none: 不引发异常(默认)。

  • errors: 错误时引发异常(但警告时不引发)。

  • all: 错误和警告时都引发异常。

xsrf_cookies#

类型:

Bool

环境变量:

BOKEH_XSRF_COOKIES

默认值:

False

开发默认值:

(未设置)

是否在 Bokeh 服务器上启用 Tornado XSRF cookie 保护。这仅在也使用身份验证模块或自定义处理程序时适用。见

https://tornado.pythonlang.cn/en/stable/guide/security.html#cross-site-request-forgery-protection

有关 Tornado 中 XSRF 保护的更多信息。当此设置处于活动状态时,所有 PUT、POST 和 DELETE 处理程序都需要适当的检测。

优先级#

设置值始终按以下规定的顺序查找

立即提供的值

这些是传递给设置的值

settings.minified(minified_val)

如果 minified_val 不为 None,则将按原样返回。否则,如果传递的是 None,则设置将继续沿搜索顺序向下查找值。这对于传递默认值为 None 的可选函数参数很有用。如果将参数传递给函数,则它将具有优先级。

先前用户设置的值

如果在代码中显式设置了值

settings.minified = False

那么这个值将优先于其他来源。应用程序可以使用此功能设置命令行提供的的值,以便它们优先于环境变量。

用户指定的配置覆盖文件

显式加载的 YAML 配置文件中的值

settings.load_config("/path/to/bokeh.yaml)

来自 bokeh.yaml 的任何值都将优先于以下来源。应用程序可以提供命令行参数来加载此类文件。例如 bokeh serve --use-config myconf.yaml

环境变量

在关联的环境变量中找到的值

BOKEH_MINIFIED=no bokeh serve app.py
本地用户配置文件

Bokeh 将在当前用户的 home 目录 ${HOME}/.bokeh/bokeh.yaml 中查找 YAML 配置文件。

全局系统配置(尚未实施)

将来计划支持从全局系统配置加载 Bokeh 设置。

本地默认值

这些是访问设置时定义的默认值

settings.resources(default="server")

本地默认值比除全局默认值以外的所有其他设置机制优先级都低。

全局默认值

这些是由设置声明定义的默认值。它们比所有其他设置机制优先级都低。

如果在搜索完所有这些位置后没有获得任何值,则会引发 RuntimeError。

API#

settings 对象上有一些方法

class Settings[source]#
bokehjs_path() Path[source]#

BokehJS 源代码树的位置。

bokehjsdir() str[source]#

BokehJS 源代码树的位置。

Deprecated since version 3.4.0: 使用 bokehjs_path() 方法代替。

css_files() list[str][source]#

BokehJS 目录中的 CSS 文件。

js_files() list[str][source]#

BokehJS 目录中的 JS 文件。

load_config(location: PathLike) None[source]#

加载用户指定的覆盖配置文件。

该文件应该是 YAML 格式,包含 key: value 行。

secret_key_bytes() bytes | None[source]#

返回 secret_key,转换为字节并缓存。