Skip to content

默认打包的 Python 版本现在是 3.14 ​

INFO

本指南以 Flet 0.86.0 为准,内容是最准确的。后续版本可能会新增 API 或增加额外的迁移路径。

破坏性变更与废弃索引列出了为每个版本编写的指南。

概述 ​

Flet 0.86.0 为 flet build 和 flet publish 引入了多版本打包的 CPython 支持。打包的 Python 解释器现在可以按构建选择(参见 选择 Python 版本),并且默认是最新受支持的稳定版——目前是 CPython 3.14。更早的 Flet 版本通过单版本的 serious_python 1.x 隐式打包 CPython 3.12。

依赖某些 Python 包的、尚未提供 3.14 预构建 wheel 的应用(通常是带有 C/Rust 扩展、尚未跟上新 ABI 的包),需要固定一个较早的 Python 版本。

背景 ​

多版本 Python 支持在 #6577 中落地,并由 flet_cli/utils/python_versions.py 中的中央注册表跟踪。受支持的简版版本为 3.12、3.13 和 3.14(每个在注册表一侧都固定到特定的 CPython 补丁 + Pyodide 发布)。

默认翻转为最新稳定版,是为了让新项目默认获得最新的 Python。没有固定版本号的现有项目在下次构建时也会开始采用它。

迁移指南 ​

你可以用三种等价的方式固定不同的 Python 版本。选用最适合你项目布局的一种。

在 pyproject.toml 中固定(推荐) ​

添加或更新 [project].requires-python:

toml
[project]
requires-python = ">=3.12,<3.13"

flet build 会解析该说明符,并选取满足它的最高受支持的简版版本。因此 >=3.12,<3.13 解析为 3.12,>=3.13,<3.14 解析为 3.13,>=3.14 解析为 3.14(默认值)。

通过 CLI 标志固定 ​

在每次调用时传入 --python-version:

bash
flet build apk --python-version 3.12
flet publish --python-version 3.12

CLI 标志会覆盖 pyproject.toml 中的任何设置。

通过环境变量固定 ​

在运行 flet build 的 shell 中导出 SERIOUS_PYTHON_VERSION:

bash
export SERIOUS_PYTHON_VERSION=3.12
flet build apk

在 CI 流水线中很有用,你不想把该标志透传到每个作业。

时间线 ​

  • 变更于:0.86.0

参考 ​


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