Python周刊2026W33 | Django 6.1发布、Python 3.14.7/3.13.15、PEP 841冻结语法、xy渲染百亿数据点
本周 Python 生态迎来密集更新:Python 3.14.7 与 3.13.15 维护版发布,合计近 900 个 bug 修复;Django 6.1 正式发布,异步文档也由 Carlton Gibson 全面重写;PEP 841、PEP 828、PEP 833、PEP 837 四项提案齐头并进;绘图库 xy 以 Rust 核心渲染 100 亿数据点。
🔥 头条
新书:现代面向对象 Python
Django 异步进展更新
Django 官方的异步文档多年来一直带有明显的负面色彩——警告相关工作尚未完成、尚不可用——直到前 Django Fellow Carlton Gibson 重写了它。这份指南可以追溯到 Django 3.x 时代异步功能的首次亮相,是一个充满各种限定条件的支持故事,让开发者不确定能否放心地在 Django 异步路径上构建生产应用。本期节目深入探讨 Django 异步功能目前的真实状况、改写后的文档,以及 Gibson 新的 Django Mantle 序列化项目。
PEP 841:为优化不可变类型添加冻结语法(草案)
Python 编译器已经会在内部把常量 set 显示折叠成 frozenset——但仅限作为 in 的右操作数时;把同样的显示赋值给变量,优化就会悄然消失。由于 CPython 无法证明 set 或 dict 显示是不可变的,它会在每次执行时重建,而如今的不可变容器要求像 frozenset({1, 2, 3}) 或 frozendict({'a': 1}) 这样冗长的调用。PEP 841 的冻结显示语法 f{...} 使不可变性成为语法层面的保证——不像 frozenset(...) 调用那样可被遮蔽——从而解锁编译期 LOAD_CONST 折叠、.pyc 缓存,以及面向 free-threaded 和子解释器密集未来的更安全的共享不可变容器。
PEP 833:冻结 HTML 简单仓库 API(最终版)
PEP 833 将 Python 的 HTML 简单仓库 API 冻结在原地——支撑每次 pip install 的格式现在被宣告完成,未来的索引功能只进入 JSON 表示(PEP 691)。HTML 格式诞生于对 PyPI 标准化前实践的正式化,是每个索引和安装工具都支持的基线,但每一次现代化改造都迫使临时语法塞进其中,比如 PEP 792 将项目状态压平为 pypi: 元标签。该 PEP 澄清了冻结在实践中的含义——HTML 支持保留,创新转向 JSON——以及为什么这种分工是可持续的前进路径。
PEP 828:在异步生成器中支持 yield from(已接受)
PEP 828 挑战了长期存在的“实现复杂”借口,它一直把 yield from 挡在异步生成器之外:同步生成器自 PEP 380 起就通过 yield from 委托,但 PEP 525 出于实现复杂性的考量,故意在异步生成器中省略了它。用户经常撞上这个缺口——三个独立的功能请求和 Stack Overflow 问题——除了用笨拙的 for/async for 循环手动转发每一项之外别无变通。被接受的提案附带参考实现,解除 SyntaxError 禁令,并给 StopAsyncIteration 增加 value 属性,使委托结果自然传播。
PEP 837:可扩展 JSON 序列化(草案)
PEP 837 终于回应了十六年之久的需求:用 json.dumps() 序列化 Python 基本类型之外的任何东西,仍然意味着要给每次调用传 default= 函数,或者让 JSONEncoder 子类穿过每个调用点。两种现有机制都把序列化知识挂在调用上而非类型上,所以每个调用者都要为 decimal.Decimal、datetime、deque 和生成器重新发明轮子——自 2016 年以来 tracker 里的请求不断累积。该提案分三层互补的扩展层级——用于逐字发射的 copyreg.RawJSON 辅助函数(全精度 Decimal 作为 JSON 数字)、标准库容器开箱即用的 json 方法,以及优先级规则——且不给 json 模块增加任何一个新的公开名称。
Python 3.14.7 和 3.13.15 发布
Python 3.14.7 和 3.13.15 共带来近 900 个 bug 修复——分别 499 和 400 个,来自 86 位贡献者——零新功能。维护版是安全和正确性修复悄然落地的地方,让用户在升级前权衡 3.14 的最新修复与 3.13 久经考验的稳定性。发布说明同时附上下载链接和发布计划,并以一个更贴近传统的收尾:π 现在精确到 314 万亿位,这个数字本身就呼应了 3.14 这条产品线。
Django 6.1 发布
📖 文章与教程
参加 2026 Python 类型调查
Python 类型调查已进入第三年,已成为 Python 类型系统发展方向公认的参考点,被 PEP 和面向 Python 社区的演讲引用。无论你是 Python 类型的资深用户,还是尚未写出自己的第一个……
Hydra 用于 Python 配置:构建模块化、可维护的流水线
在一个脚本中更新硬编码的 split_ratio,而另一个脚本里还残留着过时的副本,会让参数不匹配悄然产生不一致、难以调试的运行结果——同样的习惯还可能把 db_password = “pa55word” 直接推进共享仓库。随着数据科学项目增长,文件名、特征、超参数等值不断变化,因此与硬编码路径和密钥绑定的代码会变得僵化、不可复用,并成为安全隐患。文章展示了 Hydra 如何把设置存进 YAML 文件,将配置与逻辑分离,从而构建可跨环境和实验适配的模块化、可维护流水线。
Celery:从第一个任务到高级配方
Celery 的最小设置只需要一个 broker——结果后端(result backend)完全是可选的,而大多数新手都以为任务必须把结果写到那里。混淆 broker 与 backend 是经典陷阱,并发还带来平台上的变数:默认的 prefork 池无需调优即可并行化任务,但在 Windows 上不受支持,只能改用 solo、threads 或 gevent 池。文章分享了从安装和第一个任务到高级配方的可复用代码片段,包括依赖完全限定任务名的远程调用。
使用 DSPy 程序化开发 LLM 提示
从何时开始?哪个 Python 版本加入了它
Python 的计数惯用法连续十三个版本都在改进——dict.get()、setdefault()、fromkeys()、defaultdict,然后是 2.7 里的 Counter——然后这个故事就停止了。每个版本都宣告前一个惯用法过时:dict.get() 避开了 KeyError 却无法自增,setdefault() 冗长,defaultdict 自动提供默认值却从未成为真正的计数工具。文章把每个惯用法映射到引入它的确切版本、它解决了什么痛点,以及为什么 Python 的规范计数答案从此一直是 collections.Counter。
用 Pointblank 在 Python 中验证数据
测验:用 Pointblank 在 Python 中验证数据
Acidica
一门来自 1964 年的语言刚刚获得了一个全新解释器,纯粹为乐趣而写——一个零现实后果的度假周项目。经典 BASIC 在 70/80 年代微型计算机时代的大爆发留下了大量互不兼容的方言,所以作者必须先选一个规范,转而求助于 Vintage BASIC,因为它描述简洁,且有可运行的实现用于核对不确定的行为。这篇文章记录了实现之旅,展示了可测试、无后果的项目如何带来真实的怀旧回报——包括来自 Creative Computing 杂志的可运行游戏。
我一直在享受的 Django 更多好东西
一位擅长前端的开发者刻意学习构建一个“2010 风格”的网站——SQL 数据库、后端渲染 HTML——一个他们从未经历过的时代,而 Django 做到了 Go 标准库和 Flask 都让他们失望的地方。多页应用把他们从熟悉的前端重型工具集中推开,但他们发现,无论是最小化前端还是后端,把逻辑放在同一个地方的感觉是一样的。文章走查了让这一切成为可能的 Django 特性——自定义 QuerySet 类把 WHERE 子句组合成链条,如 Events.objects.approved().is_free().is_outdoors()——以及一路上遇到的一些真实问题。
使用 Python 发送电子邮件
测验:使用 Python 发送电子邮件
🛠 项目与代码
xy:超快且可定制的 Python 图表
一个 Python 绘图库渲染了完整版 OpenStreetMap——一个 100 亿数据点的数据集。传统 Python 绘图意味着要在迟钝的交互性和对浏览器来说过大的数据集之间做选择,每个点都要送到屏幕上。XY 的 Rust 核心只计算显示器在给定分辨率下所需的内容,因此同样的声明式或 matplotlib 风格 API 可以从五点折线扩展到 1 亿点密度曲面,然后导出为 HTML、PNG、SVG 或 PDF。
commerce:开源电子商务平台
Spwig 是一个功能齐全的电子商务平台,跑在 5 美元的 VPS 上,却把代码、数据库和客户数据完整交给商家——没有按交易抽成,而且许可证明确允许 fork。托管平台把店铺锁进月费、闭源代码和别人的数据里,让所有权或迁移几乎不可能;Spwig 以签名二进制发布,社区版首次启动自动激活,许可证密钥切换付费升级。文章涵盖一行命令的 Docker 安装、Django 5/PostgreSQL/Redis 技术栈,以及从目录、购物车、POS 到订阅、忠诚度和 SEO 的完整功能集。
在 GitHub Actions 中构建和检查 Python 包
📅 活动
每周 Real Python Office Hours 问答(线上)
Python 帮助:从问题到解决方案
Python Atlanta
PyCon Korea 2026
PyCon Korea 2026 不再是一个周末,而是横跨 8 月到 11 月的四个两天窗口——而且每张门票都包含会议期间的午餐。多窗口日程比单周末会议更难安排差旅和请假,迫使参会者在多个日期之间来回权衡。公告一次性列出全部四个日期段,开发者可以提前锁定日历、尽早购票,不必四处寻找细节。
DjangoCologne
PyCon Ghana 2026
PyCon Latam 2026
PyCon JP 2026
PyCon JP 2026 带来来自 Python 世界两端的两位主题演讲者:Carol Willing,Python 开源科学社区的长期领袖,以及 Takashi Kitao,Pyxel 复古游戏引擎的创造者。同一个社区横跨严肃的科学基础设施和有趣的创意黑客,但两个阵营都追溯到同样的开源和教育根基。页面列出了广岛的完整议程——主题演讲、一场特别的 PyLadies Seoul × PyLadies Tokyo 合作演讲,以及面向 Python 新人和资深社区成员的演讲、sprint 和活动。
往期精选
- Python周刊2026W32 | PEP 842导出、PR-AF登顶、NumPy线程扩展、PyCon Korea 2026
- Python周刊2026W31 | Django 6.1 RC1、PyPI 14天上传限制、CPython CVE激增、PEP 751锁文件
- Python周刊2026W30 | Python 3.15 Beta 4、Polars 分布式基准、CPython ABI、PyData 2026 征稿
- Go周刊2026W33 | Go 1.27rc3发布、Go 1.26.6安全补丁、Go 1.28集合类型
- Rust周刊2026W32 | Polonius 登 nightly、Rust 1.98 浮点 API、Rust 官方采纳 LLM 政策
- 2026年8月编程语言排行榜|MATLAB 首次跌出前20
扫码关注「右耳朵猫AI」

浙公网安备 33010602011771号