Skip to content

设置布尔值

要设置为布尔 True,请使用以下字符串值之一:"true"、"1" 或 "yes"。 任何其他值都会被解释为 False。

APPLE_API_ISSUER ​

App Store Connect API 密钥的签发者 ID。它与 APPLE_API_KEY 和 APPLE_API_KEY_ID 一起,把 Apple 公证服务的 凭据 以内联方式传递给 flet build—— 适合 CI 环境;已配置的公证 profile 优先。

APPLE_API_KEY ​

App Store Connect API 私钥(.p8)文件的路径。参见 APPLE_API_ISSUER。

APPLE_API_KEY_ID ​

App Store Connect API 密钥的密钥 ID。参见 APPLE_API_ISSUER。

FLET_ANDROID_SIGNING_KEY_ALIAS ​

flet build 用于 Android 应用签名的签名密钥别名。

仅在配置了密钥库时才会使用。

FLET_ANDROID_SIGNING_KEY_PASSWORD ​

flet build 用于 Android 应用签名的签名密钥密码。

如果设置了 FLET_ANDROID_SIGNING_KEY_STORE_PASSWORD 而没有设置本变量,则会复用密钥库密码作为密钥密码。

FLET_ANDROID_SIGNING_KEY_STORE ​

flet build 用于 Android 应用签名的 Android 上传密钥库 (.jks)路径。

FLET_ANDROID_SIGNING_KEY_STORE_PASSWORD ​

flet build 用于 Android 应用签名的 Android 签名密钥库密码。

如果设置了 FLET_ANDROID_SIGNING_KEY_PASSWORD 而没有设置本变量,则会复用密钥密码作为密钥库密码。

FLET_APP_CONSOLE ​

应用控制台日志文件(console.log)在缓存存储目录 (FLET_APP_STORAGE_CACHE)中的路径。

其值在生产模式下才会设置。

INFO

在一个运行中的 Flet 应用里,与此环境变量等价的是 [StoragePaths.get_console_log_filename()][flet.StoragePaths.get_console_log_filename]。

FLET_APP_ID ​

Linux 桌面用来对应用窗口进行分组和命名时所使用的身份标识:即 X11 的 WM_CLASS 和 Wayland 的 app_id。如果没有它,每个打包应用都会继承共享客户端二进制的 名称,显示为 flet。

请将其设置为与应用桌面入口的 StartupWMClass 键相同的字符串,这样桌面就能把窗口与入口 匹配起来,并从中获取应用的名称和图标——参见 Linux 任务栏身份。

仅适用于 Linux 桌面应用;当给定 --bundle-id 时, flet pack 会自动将其设置为该值,否则设置为可执行文件的名称。

FLET_APP_RELAUNCH_COMMAND ​

Windows 用于从固定到任务栏的图标重新启动应用的命令 (System.AppUserModel.RelaunchCommand), 盖章在桌面客户端窗口上。当 FLET_APP_USER_MODEL_ID 为某个 已存在文件的路径时,默认取该路径的带引号形式。

仅适用于 Windows 桌面应用;由 flet pack 自动设置—— 参见 FLET_APP_USER_MODEL_ID。

FLET_APP_RELAUNCH_DISPLAY_NAME ​

Windows 在任务栏右键菜单和固定项中为应用显示的名称 (System.AppUserModel.RelaunchDisplayNameResource)。 默认取自 FLET_APP_USER_MODEL_ID 中的可执行文件名。

仅适用于 Windows 桌面应用;由 flet pack 自动设置—— 参见 FLET_APP_USER_MODEL_ID。

FLET_APP_RELAUNCH_ICON ​

Windows 用于任务栏按钮和固定项的图标资源 (System.AppUserModel.RelaunchIconResource), 例如 C:\path\to\app.exe,0。默认取自 FLET_APP_USER_MODEL_ID 中 可执行文件的第一个图标。

仅适用于 Windows 桌面应用;由 flet pack 自动设置—— 参见 FLET_APP_USER_MODEL_ID。

FLET_APP_STORAGE_CACHE ​

用于存放可重新生成的缓存数据的目录。操作系统可能会在存储空间紧张时将其清除(平台自带的 「清除缓存」操作也会清空它),因此只应存放那些可以重建的内容。该目录会预先创建且为应用私有; 它映射到平台的 caches 目录(Windows 上为 %LOCALAPPDATA%\<company>\<product>,macOS 上为 ~/Library/Caches/<bundle-id>,Linux 上为 ~/.cache/<app-id>,iOS/Android 上为应用缓存目录)。 在 flet run 下则为 <project>/.flet/storage/cache。

INFO

在一个运行中的 Flet 应用里,与此环境变量等价的是 [StoragePaths.get_application_cache_directory()][flet.StoragePaths.get_application_cache_directory]。

FLET_APP_STORAGE_DATA ​

用于存放持久应用数据的目录——数据库、状态、配置——在应用更新之间保留、由操作系统备份、 且不会被自动删除。它会预先创建且为应用私有,其位置取决于平台(映射到平台的 application support 目录:Windows 上为 %APPDATA%\<company>\<product>\data,macOS 上为 ~/Library/Application Support/<bundle-id>/data,Linux 上为 ~/.local/share/<app-id>/data, iOS/Android 上为应用沙盒中的支持目录)。

在生产环境中,该目录同时也是 Python 程序的当前工作目录,因此相对路径的文件写入 (例如 open("app.db", "w")、sqlite3.connect("app.db"))都会落在这里。在 flet run (开发模式)下则为 <project>/.flet/storage/data。

INFO

在一个运行中的 Flet 应用里,它映射到 [StoragePaths.get_application_support_directory()][flet.StoragePaths.get_application_support_directory] 的 data 子目录。

FLET_APP_STORAGE_TEMP ​

用于存放一次性临时文件的目录——即操作系统的临时目录(getTemporaryDirectory())。 它是三者中最易失的,可能会在两次启动之间被清空,因此不要依赖其内容的持久性。(在 Android 上, 它解析为与 FLET_APP_STORAGE_CACHE 相同的目录。)在 flet run 下则为 <project>/.flet/storage/temp,Python 的 tempfile 也被指向这里(通过 TMPDIR)。 等价于 Python 的 tempfile.gettempdir()。

INFO

在一个运行中的 Flet 应用里,与此环境变量等价的是 [StoragePaths.get_temporary_directory()][flet.StoragePaths.get_temporary_directory]。

FLET_APP_USER_MODEL_ID ​

Windows 的 AppUserModelID, 由桌面客户端进程用于任务栏分组和固定。

仅适用于 Windows 桌面应用——由桌面客户端启动器(flet-desktop)读取;它对 Web 或移动应用 无效。

对于用 flet pack 打包的应用,该值会被自动设置为打包后的可执行文件 路径,这样任务栏就会把客户端窗口与打包应用关联起来,而不是与缓存的 Flet 客户端可执行文件 关联。它还会与 FLET_APP_RELAUNCH_* 属性一起被盖章到客户端 窗口上,这些属性会让任务栏的名称、图标和固定项都解析到打包应用。

当使用其他方式打包时(例如 Nuitka),请自行设置此变量——在应用启动前或 main.py 的最顶部 设置——以获得相同的行为。

FLET_ASSETS_DIR ​

应用静态资源目录的绝对路径。

在由 flet build 构建的生产应用中,此环境变量在运行时指向 打包后静态资源的绝对位置。当你的代码需要访问打包文件的文件系统路径时(例如 JSON 配置、数据库 或模型文件),可以使用它。

对于本地运行,它可能会因应用的启动方式而未设置,因此请使用一个回退方案:

python
import os
from pathlib import Path
import flet as ft

default_assets_dir = Path(__file__).parent / "assets"
assets_dir = Path(os.environ.get("FLET_ASSETS_DIR", str(default_assets_dir))).resolve()

def main(page: ft.Page):
	...

ft.run(main, assets_dir="assets")

对于像 Image.src 这样的控件属性,请继续使用相对于 ft.run(assets_dir=...) 的路径,如静态资源常用食谱中所述。

FLET_CLI_NO_RICH_OUTPUT ​

是否禁用控制台中的富文本输出。

默认为 "false"。

FLET_CLI_SKIP_FLUTTER_DOCTOR ​

是否在构建失败时跳过运行 flutter doctor。

默认为 False。

FLET_FORCE_WEB_SERVER ​

设置为 true 可强制以 Web 应用方式运行。在无界面(headless)的 Linux 主机上会自动设置。

FLET_HIDE_WINDOW_ON_START ​

设置为 true 可在启动时隐藏主窗口。

默认为 False。

FLET_LOG_LEVEL ​

应用启动时应用的日志级别,例如 "info" 或 "debug"。参见日志记录。

flet run 会为它启动的应用设置该级别:-v 对应 "info",-vv 对应 "debug"。若应用自行配置了日志,则保留其选择的设置,因此该变量仅在应用未自行配置日志时才会生效。

FLET_MACOS_INSTALLER_IDENTITY ​

安装器证书("3rd Party Mac Developer Installer" / "Mac Installer Distribution" 的名称或 SHA-1 指纹),由 flet build 用于 为 Mac App Store 构建签名安装器 .pkg。未配置时,会自动发现钥匙串中唯一的安装器证书。

FLET_MACOS_NOTARY_PROFILE ​

notarytool 钥匙串 profile 的名称(通过 xcrun notarytool store-credentials 创建), 由 flet build 用于 在对 macOS 应用进行公证时 向 Apple 公证服务进行身份验证。

或者,设置 APPLE_API_KEY(.p8 文件路径)、APPLE_API_KEY_ID 和 APPLE_API_ISSUER 环境变量,以以内联方式传递一个 App Store Connect API 密钥;已配置的 profile 优先于它们 (precedence)。

FLET_MACOS_PROVISIONING_PROFILE ​

Mac App Store 配置文件(.provisionprofile)的路径,由 flet build 嵌入 到 App Store 构建的 Contents/embedded.provisionprofile 中。

FLET_MACOS_SIGNING_IDENTITY ​

代码签名身份,由 flet build 用于 对 macOS 应用 bundle 进行签名:可以是 "Developer ID Application"(直接分发)或 "Apple Distribution" (App Store)证书名称、其 SHA-1 指纹,或者 - 表示临时(ad-hoc)签名。

当未配置时(此处、通过 CLI 或在 pyproject.toml 中均未配置),普通构建会保留其默认的 临时(ad-hoc)签名,而需要公证和 App Store 的构建会在钥匙串中恰好只有一张所需类型证书时 自动发现它。

FLET_MAX_UPLOAD_SIZE ​

允许上传的文件最大大小(以字节为单位)。

默认不限制。

FLET_OAUTH_CALLBACK_HANDLER_ENDPOINT ​

OAuth 处理器的自定义路径。

默认为 "/oauth_callback"。

FLET_OAUTH_STATE_TIMEOUT ​

完成 OAuth Web 流程所允许的最大时间(以秒为单位)。

默认为 600。

FLET_PLATFORM ​

应用运行所在的平台。

其值可以是以下几种之一:"android"、"ios"、"linux"、"macos"、"windows" 或 "fuchsia"。

FLET_SECRET_KEY ​

用于对临时上传 URL 进行签名的密钥。

FLET_SERVER_IP ​

Web 应用监听的 IP 地址,例如 "127.0.0.1"。

默认为 0.0.0.0——绑定到所有服务器 IP。

FLET_SERVER_PORT ​

运行应用所使用的 TCP 端口。

如果程序运行在 Linux 服务器上,或者设置了 FLET_FORCE_WEB_SERVER,则为 8000;否则为随机端口。

FLET_SERVER_UDS_PATH ​

Flet 服务器的 Unix 域套接字(UDS)路径。它支持基于 Unix 的系统上的进程间通信,其值为格式为 flet_<pid>.sock 的套接字文件路径。

FLET_SESSION_TIMEOUT ​

会话生命周期(以秒为单位)。

默认为 3600。

FLET_UPLOAD_DIR ​

应用「上传」目录的绝对路径。

FLET_UPLOAD_HANDLER_ENDPOINT ​

上传处理器的自定义路径。

默认为 "/upload"。

FLET_VIEW_PATH ​

一个目录的路径,其中包含要使用的 Flet 桌面客户端,以替代 Flet 自动下载的客户端:macOS 上为 Flet.app,Windows 上为 flet.exe,Linux 上为 flet。

flet run 会优先在 build/<platform> 中查找上一次 flet build 生成的客户端,若找不到则回退到该变量指定的目录,最后才使用缓存的客户端。 flet pack 会读取该变量以选择其打包时使用的客户端。

FLET_WEB_APP_PATH ​

承载 Web 应用的域名之后的 URL 路径,例如 "/apps/myapp"。

默认为 "/"——将应用托管在根路径。

FLET_WEB_NO_CDN ​

设置为 true 可避免从 CDN 加载 CanvasKit、Pyodide 和字体。

FLET_WEB_PATH ​

一个目录的路径,其中包含要提供服务的 Flet Web 客户端,以替代随 flet-web 包一同发布的客户端。 由 flet run --web、flet publish, 以及以 ft.run(export_asgi_app=True) 启动的应用读取。

将其指向 flet build web 的输出,即可提供包含你应用扩展的客户端。 扩展的 Dart 代码在构建时会被编译进客户端,因此不论应用如何构建,随版本发布的打包客户端都会将 第三方控件渲染为 Unknown control: <Type>。

FLET_WEB_RENDERER ​

Web 渲染模式:"canvaskit"(默认)、"skwasm" 或 "auto"。

FLET_WEB_ROUTE_URL_STRATEGY ​

Web 应用的 URL 策略。其值可以是 "path"(默认)或 "hash"。

FLET_WEB_USE_COLOR_EMOJI ​

设置为 True、true 或 1 可加载带有彩色 emoji 的 Web 字体。

FLET_WEBSOCKET_HANDLER_ENDPOINT ​

WebSocket 处理器的自定义路径。

默认为 "/ws"。


关注我,学习大模型、大数据、Python等热门技术。