bokeh.settings#

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

定义的设置#

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

settings.minified()

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

allowed_ws_origin#

Type:

列表[字符串]

Env var:

BOKEH_ALLOW_WS_ORIGIN

Default:

[]

Dev Default:

(未设置)

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

auth_module#

Type:

字符串

Env var:

BOKEH_AUTH_MODULE

Default:

Dev Default:

(未设置)

一个指向实现Bokeh服务器用户认证功能的Python模块的路径。

警告

此模块的内容将被执行!

browser#

Type:

字符串

Env var:

BOKEH_BROWSER

Default:

Dev Default:

‘无’

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

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

version#

Type:

字符串

Env var:

BOKEH_CDN_VERSION

Default:

Dev Default:

(未设置)

使用CDN资源时,应使用哪个版本的BokehJS。

查看Resources类的参考以获取完整详情。

chromedriver_path#

Type:

字符串

Env var:

BOKEH_CHROMEDRIVER_PATH

Default:

Dev Default:

(未设置)

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

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

docs_cdn#

Type:

字符串

Env var:

BOKEH_DOCS_CDN

Default:

Dev Default:

(未设置)

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

要使用本地构建的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#

Type:

字符串

Env var:

BOKEH_DOCS_VERSION

Default:

Dev Default:

(未设置)

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

此设置对于重新部署现有版本的文档以包含新的修复或更改是必要的。

ico_path#

Type:

图标路径

Env var:

BOKEH_ICO_PATH

Default:

‘默认’

Dev Default:

‘default-dev’

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

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

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

  • none 用于完全关闭 favicon.ico 支持

ignore_filename#

Type:

布尔

Env var:

BOKEH_IGNORE_FILENAME

Default:

Dev Default:

(未设置)

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

log_level#

Type:

字符串

Env var:

BOKEH_LOG_LEVEL

Default:

‘信息’

Dev Default:

‘调试’

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

有效值按严重程度递增的顺序排列:

  • trace

  • debug

  • info

  • warn

  • error

  • fatal

minified#

Type:

布尔

Env var:

BOKEH_MINIFIED

Default:

Dev Default:

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

nodejs_path#

Type:

字符串

Env var:

BOKEH_NODEJS_PATH

Default:

Dev Default:

(未设置)

Node 可执行文件的路径。

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

validate_doc#

Type:

布尔

Env var:

BOKEH_VALIDATE_DOC

Default:

Dev Default:

(未设置)

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

将此值设置为False可能会带来小幅度的性能提升。

pretty#

Type:

字符串

Env var:

BOKEH_PRETTY

Default:

Dev Default:

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

py_log_level#

Type:

日志级别

Env var:

BOKEH_PY_LOG_LEVEL

Default:

‘无’

Dev Default:

‘调试’

Python Bokeh代码的日志级别。

有效值按严重程度递增的顺序排列:

  • trace

  • debug

  • info

  • warn

  • error

  • fatal

  • none

resources#

Type:

字符串

Env var:

BOKEH_RESOURCES

Default:

‘cdn’

Dev Default:

‘server’

配置哪种类型的BokehJS资源,例如 inlinecdn

查看Resources类的参考以获取完整详情。

rootdir#

Type:

字符串

Env var:

BOKEH_ROOTDIR

Default:

Dev Default:

(未设置)

用于relative资源的根目录

查看Resources类的参考以获取完整详情。

default_server_host#

Type:

字符串

Env var:

BOKEH_DEFAULT_SERVER_HOST

Default:

‘localhost’

Dev Default:

(未设置)

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

default_server_port#

Type:

整数

Env var:

BOKEH_DEFAULT_SERVER_PORT

Default:

5006

Dev Default:

(未设置)

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

secret_key#

Type:

字符串

Env var:

BOKEH_SECRET_KEY

Default:

Dev Default:

(未设置)

一个长且加密随机的秘密,对于Bokeh部署来说是唯一的。

serialize_include_defaults#

Type:

字符串

Env var:

BOKEH_SERIALIZE_INCLUDE_DEFAULTS

Default:

Dev Default:

(未设置)

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

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

sign_sessions#

Type:

字符串

Env var:

BOKEH_SIGN_SESSIONS

Default:

Dev Default:

(未设置)

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

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

simple_ids#

Type:

布尔

Env var:

BOKEH_SIMPLE_IDS

Default:

Dev Default:

(未设置)

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

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

ssl_certfile#

Type:

字符串

Env var:

BOKEH_SSL_CERTFILE

Default:

Dev Default:

(未设置)

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

ssl_keyfile#

Type:

字符串

Env var:

BOKEH_SSL_KEYFILE

Default:

Dev Default:

(未设置)

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

ssl_password#

Type:

字符串

Env var:

BOKEH_SSL_PASSWORD

Default:

Dev Default:

(未设置)

如果需要,用于解密SSL密钥文件的密码。

validation_level#

Type:

验证级别

Env var:

BOKEH_VALIDATION_LEVEL

Default:

‘无’

Dev Default:

(未设置)

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

有效值为:

  • none: 不抛出异常(默认)。

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

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

xsrf_cookies#

Type:

布尔

Env var:

BOKEH_XSRF_COOKIES

Default:

Dev Default:

(未设置)

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

https://www.tornadoweb.org/en/stable/guide/security.html#cross-site-request-forgery-protection

有关Tornado中XSRF保护的更多信息。当此设置生效时,所有PUT、POST和DELETE处理程序都需要进行适当的配置。

优先级#

设置值总是按照以下规定的顺序查找:

immediately supplied values

这些是传递给设置的值:

settings.minified(minified_val)

如果 minified_val 不是 None,那么它将按原样返回。 否则,如果传递了 None,则设置将继续在搜索顺序中查找值。这对于传递默认为 None 的可选函数参数非常有用。如果参数传递给函数,则它将优先。

previously user-set values

如果值在代码中明确设置:

settings.minified = False

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

user-specified config override file

从显式加载的YAML配置文件中获取的值:

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

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

environment variable

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

BOKEH_MINIFIED=no bokeh serve app.py
local user config file

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

global system configuration (not yet implemented)

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

local defaults

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

settings.resources(default="server")

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

global defaults

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

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

API#

settings 对象上有几种方法:

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

BokehJS 源代码树的位置。

bokehjsdir() str[source]#

BokehJS 源代码树的位置。

自版本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,转换为字节并缓存。