- 开发工具
- 构建工具
- CLI
- 包管理器
【免费下载链接】winpython
A free Python-distribution for Windows platform, including prebuilt packages for Scientific Python.
WinPython 是一款面向 Windows 平台的免费 Python 发行版,内置预编译的科学计算扩展包。本文以仓库内 changelogs/WinPythondot-64bit-3.13.0.1.md 及其配套 版本变更历史 为骨架,完整解读 3.13.0.1dot(rc2 候选版)的随附包清单、自 3.13.0.0dot 以来的四项升级内容,并结合仓库中的dot_requirements.txt、winpython_builds.toml与winpython/build_winpython.py源码,讲清 dot 风味的构建管线与 changelog 的自动生成原理。读完本文,你将能够:看懂任意一份 WinPython changelog 的字段含义,理解"dot"(最小化)风味与标准发行版、slim 风味的区别,并掌握从 TOML 配置到最终发布清单的完整构建链路。
一、版本定位:3.13.0.1dot 是什么
WinPythondot-64bit-3.13.0.1.md文件开篇即声明:本清单对应WinPython-64bit v3.13.0.1dot rc2。其版本号可拆解为:
- 3.13.0:目标 CPython 主版本,即 Python 3.13.0 官方版本;
- 1:构建号(build number),即该 Python 版本下的第 1 次发布迭代;
- dot:风味(flavor)标识,表示这是"仅含核心工具的最小化发行";
- rc2:发布等级(release level),即候选发布第二版。
对照同目录下的 WinPythondot-64bit-3.13.0.0.md,3.13.0.0dot 是 b2b(beta)阶段,而 3.13.0.1dot 进入 rc2,意味着包集基本冻结、只修问题不增功能,是正式版前的最后把关阶段。
说明:文中的包清单来源于发行快照,具体随附版本以当前仓库 changelogs 目录记录为准;若需精确比对,可自行 diff 相邻两个版本的清单文件。
二、3.13.0.1dot 完整随附包清单
原文档完整列出了发行版随附的 Python 包。以下是完整继承的清单(Tools 节为空,即该风味不预装独立开发工具链):
| Name | Version | Description |
|---|---|---|
| Python | 3.13.0 | Python programming language with standard library |
| build | 1.2.1 | A simple, correct Python build frontend |
| colorama | 0.4.6 | Cross-platform colored terminal text. |
| interpreters_pep_734 | 0.1.0 | Use this module to try out multiple interpreters and a per-interpreter GIL in Python 3.13+. Do not use this for anything important yet. |
| msvc_runtime | 14.40.33807 | Install the Microsoft™ Visual C++™ runtime DLLs to the sys.prefix and Scripts directories |
| packaging | 24.1 | Core utilities for Python packages |
| pip | 24.2 | The PyPA recommended tool for installing Python packages. |
| pyproject_hooks | 1.1.0 | Wrappers to call pyproject.toml-based build backend hooks. |
| setuptools | 72.2.0 | Easily download, build, install, upgrade, and uninstall Python packages |
| sqlite_bro | 0.13.1 | a graphic SQLite Client in 1 Python file |
| wheel | 0.44.0 | A built-package format for Python |
| winpython | 10.7.20240908 | WinPython distribution tools, including WPPM |
可以看到,dot 风味不包含 NumPy/SciPy 等科学计算栈,而是聚焦"构建与自举":Python 本体、pip/setuptools/wheel 三件套、构建前端build与pyproject_hooks、包元数据工具packaging,以及 WinPython 自身的工具集winpython(内含 WPPM)。
关键包解读
- interpreters_pep_734 0.1.0:这是 Python 3.13+ 的实验性模块,用于试玩"多解释器 + 每解释器独立 GIL"(per-interpreter GIL)。包描述明确标注Do not use this for anything important yet,属于技术预览性质,适合想提前体验 PEP 734 方向的开发者。
- msvc_runtime 14.40.33807:把 Microsoft Visual C++ 运行时 DLL 安装到
sys.prefix与Scripts目录,保证绿色便携版在不依赖系统级 VC 运行库的机器上也能运行。 - sqlite_bro 0.13.1:单文件实现的图形化 SQLite 客户端,方便开发者开箱即用地浏览数据库。
三、自 3.13.0.0dot 以来的升级变更
配套的 WinPythondot-64bit-3.13.0.1_History.md 记录了自 3.13.0.0dot 起的所有包升级,共四项:
| 包名 | 旧版本 | 新版本 |
|---|---|---|
| pip | 24.0 | 24.2 |
| setuptools | 69.5.1 | 72.2.0 |
| wheel | 0.43.0 | 0.44.0 |
| winpython | 8.2.20240618 | 10.7.20240908 |
其余包(build、colorama、interpreters_pep_734、msvc_runtime、packaging、pyproject_hooks、sqlite_bro)版本与 3.13.0.0dot 完全一致,说明本次迭代是"工具链维护型"升级:重点刷新 PyPA 官方工具链与 WinPython 自身工具包,而非引入新依赖。
其中winpython 8.2.20240618 → 10.7.20240908是最值得关注的一跳——版本号从 8.2 直接跨越到 10.7,且日期后缀更新了近三个月,意味着 WPPM 在发行编排能力上有显著演进(下文结合源码说明其承担的角色)。
四、dot 风味如何定义:从 TOML 配置看构建源头
包清单并非手工撰写,而是由构建系统按风味配置驱动生成。仓库根目录的 winpython_builds.toml 集中定义了所有本地构建的(Python 主版本, 风味)组合,其中:
[flavors.dot] requirements = "dot_requirements.txt" source_dirs = "packages.win-amd64" toolsdirs = "bdTools\\Tools.dot"而 dot_requirements.txt 正是 3.13.0.1dot 随附包的直接来源:
# the essential sqlite_bro setuptools wheel build ##msvc_runtime # end of requirements.txt对照清单不难看出其对应关系:setuptools、wheel、build、sqlite_bro全部命中;msvc_runtime被注释掉,但清单中依然出现——这说明它通过mandatory(强制)通道进入发行版。仓库根目录的 mandatory_requirements.txt 声明了所有发行版都必装的三个包:
pip setuptools wppmpip 与 setuptools 由此得到保证,而wppm(WinPython Package Manager)由winpython工具包提供,在构建末尾负责打补丁、生成清单等收尾工作。换言之,最终包集 = mandatory 基础三件套 + 风味 requirements 列表 + Python 标准库 + 构建期注入的工具包,约束版本下限的还有 constraints.txt。
五、changelog 的自动生成:wppm 与 diff 模块
这类 Markdown 清单是构建流程的第 7 步自动产出的。在 winpython/build_winpython.py 中,构建收尾阶段会调用wppm.Distribution().generate_package_index_markdown()生成包索引(见build_winpython.py的 Step 7),其实现位于 wppm/wppm.py 的generate_package_index_markdown/get_package_index_data/render_markdown_for_list:
get_package_index_data汇总发行版身份(版本、架构)、已安装工具与包列表(含名称、PyPI URL、版本、描述);render_markdown_for_list负责渲染Name | Version | Description表格,这正是原文档的格式来源;- 随后调用 wppm/diff.py 的
compare_package_indexes对比上一版本清单,产出_History.md中的升级/新增/移除明细。
从源码结构可以推断:_History.md中"Upgraded packages"列表即由 diff 模块比对相邻两个发行索引得出,因此本文第二节的升级表本质上是对构建产物的一次"人读回放"。
六、从清单到可运行发行版:构建步骤速览
若要复现一个类似 3.13.0.1dot 的发行版,仓库提供了两条路径:
- 元脚本驱动:build_winpython_meta.py 读取
winpython_builds.toml,把(Python 主版本 × 风味)展开为逐条构建命令,典型用法:python build_winpython_meta.py winpython_builds.toml 313:dot加上
--dry-run可仅打印命令而不实际执行。 - 单次构建:
python -m winpython.build_winpython配合--python-target 313 --flavor dot --requirements dot_requirements.txt等参数完成从解压 Python 压缩包、安装依赖到生成 changelog 的全流程;底层骨架由 winpython/make.py 的WinPythonDistributionBuilder提供(解压归档、拷贝启动器、写入scripts/env.ini环境配置)。
需要提醒:本地构建要求 Python 3.11+ 构建环境、预置的packages.win-amd64wheel 仓库以及C:\Winp构建根目录(见winpython_builds.toml的[defaults]),并非开箱即可在任意机器执行。
七、总结
3.13.0.1dot 是 WinPython 在 Python 3.13.0 主线上的 rc2 快照:以 pip 24.2、setuptools 72.2.0、wheel 0.44.0 刷新工具链,以 winpython 10.7.20240908 强化发行工具自身,同时保持 dot 风味"最小化、聚焦构建自举"的定位。透过这份清单,还能反向追溯到winpython_builds.toml → dot_requirements.txt → build_winpython.py → wppm的完整生成链路——这正是 WinPython 发行体系可维护、可复现的关键所在。
- 开发工具
- 构建工具
- CLI
- 包管理器
【免费下载链接】winpython
A free Python-distribution for Windows platform, including prebuilt packages for Scientific Python.
相关推荐
DLSS Swapper 完整指南:3 步给老游戏升级新版 DLSS,不用等官方更新
DLSS Swapper 完整指南:3 步给老游戏升级新版 DLSS,不用等官方更新 你玩过这种情况吗:一款游戏内置的 DLSS 还是两三年前的老版本,帧率和画
开发工具构建工具CLI包管理器WinPython 3.10.4.0dot 发行版全解析:32 位包清单、dot 风味构建定义与升级脉络
WinPython 3.10.4.0dot 发行版全解析:32 位包清单、dot 风味构建定义与升级脉络 导读 本文基于 WinPython 仓库中的版本清单文
开发工具构建工具CLI包管理器WinPython 3.15.0.1dot 发行说明解读:64 位 dot 风味发行版的组成、构建机制与包清单
WinPython 3.15.0.1dot 发行说明解读:64 位 dot 风味发行版的组成、构建机制与包清单 本文基于当前仓库 changelogs/WinP
开发工具构建工具CLI包管理器
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考