bokeh.settings#

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

已定义的设置#

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

settings.minified()

Bokeh 提供了以下已定义的设置

allowed_ws_origin#

类型:

List[String]

环境变量:

BOKEH_ALLOW_WS_ORIGIN

默认值:

[]

开发默认值:

(未设置)

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

auth_module#

类型:

字符串

环境变量:

BOKEH_AUTH_MODULE

默认值:

None

开发默认值:

(未设置)

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

警告

此模块的内容将被执行!

browser#

类型:

字符串

环境变量:

BOKEH_BROWSER

默认值:

None

开发默认值:

‘none’

Bokeh 应该用来显示文档的默认浏览器。

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

version#

类型:

字符串

环境变量:

BOKEH_CDN_VERSION

默认值:

None

开发默认值:

(未设置)

与 CDN 资源一起使用的 BokehJS 版本。

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

chromedriver_path#

类型:

字符串

环境变量:

BOKEH_CHROMEDRIVER_PATH

默认值:

None

开发默认值:

(未设置)

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

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

docs_cdn#

类型:

字符串

环境变量:

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#

类型:

字符串

环境变量:

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#

类型:

布尔值

环境变量:

BOKEH_IGNORE_FILENAME

默认值:

False

开发默认值:

(未设置)

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

log_level#

类型:

字符串

环境变量:

BOKEH_LOG_LEVEL

默认值:

‘info’

开发默认值:

‘debug’

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

有效值按严重性递增顺序排列

  • trace

  • debug

  • info

  • warn

  • error

  • fatal

minified#

类型:

布尔值

环境变量:

BOKEH_MINIFIED

默认值:

True

开发默认值:

False

Bokeh 是否应使用压缩的 BokehJS 资源。

nodejs_path#

类型:

字符串

环境变量:

BOKEH_NODEJS_PATH

默认值:

None

开发默认值:

(未设置)

Node 可执行文件的路径。

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

validate_doc#

类型:

布尔值

环境变量:

BOKEH_VALIDATE_DOC

默认值:

True

开发默认值:

(未设置)

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

将此值设置为 False 可能会略微提高性能。

pretty#

类型:

字符串

环境变量:

BOKEH_PRETTY

默认值:

False

开发默认值:

True

JSON 字符串是否应进行美化打印。

py_log_level#

类型:

日志级别

环境变量:

BOKEH_PY_LOG_LEVEL

默认值:

‘none’

开发默认值:

‘debug’

Python Bokeh 代码的日志级别。

有效值按严重性递增顺序排列

  • trace

  • debug

  • info

  • warn

  • error

  • fatal

  • none

resources#

类型:

字符串

环境变量:

BOKEH_RESOURCES

默认值:

‘cdn’

开发默认值:

‘server’

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

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

rootdir#

类型:

字符串

环境变量:

BOKEH_ROOTDIR

默认值:

None

开发默认值:

(未设置)

relative 资源一起使用的根目录

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

default_server_host#

类型:

字符串

环境变量:

BOKEH_DEFAULT_SERVER_HOST

默认值:

‘localhost’

开发默认值:

(未设置)

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

default_server_port#

类型:

整数

环境变量:

BOKEH_DEFAULT_SERVER_PORT

默认值:

5006

开发默认值:

(未设置)

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

secret_key#

类型:

字符串

环境变量:

BOKEH_SECRET_KEY

默认值:

None

开发默认值:

(未设置)

一个长期的、密码学上随机的密钥,对于 Bokeh 部署是唯一的。

serialize_include_defaults#

类型:

字符串

环境变量:

BOKEH_SERIALIZE_INCLUDE_DEFAULTS

默认值:

False

开发默认值:

(未设置)

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

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

sign_sessions#

类型:

字符串

环境变量:

BOKEH_SIGN_SESSIONS

默认值:

False

开发默认值:

(未设置)

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

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

simple_ids#

类型:

布尔值

环境变量:

BOKEH_SIMPLE_IDS

默认值:

True

开发默认值:

(未设置)

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

如果为 False,Bokeh 将对对象标识符使用 UUID。例如,如果多个进程正在向单个 Bokeh 文档贡献内容,则可能需要这样做。

ssl_certfile#

类型:

字符串

环境变量:

BOKEH_SSL_CERTFILE

默认值:

None

开发默认值:

(未设置)

用于 SSL 终止的证书文件的路径。

ssl_keyfile#

类型:

字符串

环境变量:

BOKEH_SSL_KEYFILE

默认值:

None

开发默认值:

(未设置)

用于 SSL 终止的私钥文件的路径。

ssl_password#

类型:

字符串

环境变量:

BOKEH_SSL_PASSWORD

默认值:

None

开发默认值:

(未设置)

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

validation_level#

类型:

验证级别

环境变量:

BOKEH_VALIDATION_LEVEL

默认值:

‘none’

开发默认值:

(未设置)

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

有效值为

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

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

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

xsrf_cookies#

类型:

布尔值

环境变量:

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}/.bokeh/bokeh.yaml 中查找 YAML 配置文件。

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

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

本地默认值

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

settings.resources(default="server")

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

全局默认值

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

如果在搜索所有这些位置后仍未获得值,则将引发 RuntimeError。

API#

settings 对象上有几个方法

class Settings[源代码]#
bokehjs_path() Path[源代码]#

BokehJS 源代码树的位置。

bokehjsdir() str[源代码]#

BokehJS 源代码树的位置。

自版本 3.4.0 起已弃用:请改用 bokehjs_path() 方法。

css_files() list[str][源代码]#

BokehJS 目录中的 CSS 文件。

js_files() list[str][源代码]#

BokehJS 目录中的 JS 文件。

load_config(location: PathLike) None[源代码]#

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

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

secret_key_bytes() bytes | None[源代码]#

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