进阶

环境变量配置

PyTRIO 在导入时读取进程环境变量,适合 CI 等不方便交互登录的环境。也可以在创建 ServiceClient 前通过 pytrio.configure(...) 在进程内覆盖配置。

环境变量

环境变量等效 Python 配置说明
PYTRIO_API_KEYpytrio.configure(api_key=...)当前进程使用的 API Key,可替代 trio login
PYTRIO_BASE_URLpytrio.configure(base_url=...)Trio 服务根地址;末尾的 /api/ 会被归一化
PYTRIO_ENVpytrio.configure(env=...)当前进程使用的本地 server profile
PYTRIO_LOG_LEVELpytrio.configure(log_level=...)SDK 与 CLI 日志等级

例如:

export PYTRIO_ENV=dev
export PYTRIO_API_KEY=trio-key
export PYTRIO_BASE_URL=https://beta.pytrio.cn
export PYTRIO_LOG_LEVEL=DEBUG
python train.py

等效的进程内配置为:

import pytrio

pytrio.configure(
    env="dev",
    api_key="trio-key",
    base_url="https://beta.pytrio.cn",
    log_level="DEBUG",
)

加载顺序

配置按以下顺序加载,后加载的值覆盖先前的值:

  1. SDK 默认值;
  2. 磁盘中的当前 profile;
  3. PYTRIO_* 环境变量;
  4. 用户调用 pytrio.configure(...)
  5. ServiceClient 等调用点的显式参数。

PYTRIO_ENV 会先选择并加载对应 profile,API Key、服务地址和日志等级再覆盖该 profile 中的值。环境变量只影响当前进程,不修改 env.toml 或 profile 的 config.toml。未定义、空字符串或只包含空白的环境变量不会覆盖已有配置。

PYTRIO_LOG_LEVEL 支持 DEBUGINFOWARNINGERRORCRITICAL;其他值会在导入时触发 configuration.invalid_environment

Client 配置快照

ServiceClient 在构造开始时复制当前进程配置。它创建的 Control、Actor、Telemetry、下载器、执行器和派生 Client 都使用这份运行时快照。之后调用 pytrio.configure(...) 只影响后续创建的根 Client。

import pytrio

pytrio.configure(timeout=10)
first = pytrio.ServiceClient()

pytrio.configure(timeout=30)
second = pytrio.ServiceClient()

# first 继续使用 10 秒超时;second 使用 30 秒超时。
这篇文档对你有帮助吗?

本页目录