WinPython dot 风味发布说明解读:从 3.11.3.1dot 出发理解 WinPython 的精简构建体系
开发工具构建工具CLI包管理器【免费下载链接】winpythonA free Python-distribution for Windows platform, including prebuilt packages for Scientific Python.项目地址https://gitcode.com/gh_mirrors/wi/winpython点击查看免费下载WinPython 3.11.3.1dot 是 WinPython 面向 Windows 平台的 64 位发行版中dot风味flavor的一次增量发布。本文以该版本的发布清单与变更历史为骨架结合本仓库winpython 构建工具链的 winpython_builds.toml、dot_requirements.txt 与 build_winpython_meta.py 等源码为你完整解读dot风味的包构成、与上一版 3.11.3.0dot 的差异以及这套一 Python、多风味构建机制背后的设计逻辑。读完本文你将能看懂任何一份 WinPython changelog 清单并能自行用 TOML 配置复现或定制同类的精简发行版。版本总览3.11.3.1dot 是什么发行家族WinPythonWindows 平台的免费 Python 发行版面向科学计算生态架构64 位-64bit-风味dot文件名中的dot后缀即风味标识Python 版本3.11.3完整版本号3.11.3.1dot含义为 Python 3.11.3 系列、第 1 次修订、dot风味上游基础对照 WinPython-64bit-3.11.3.1.md 可发现同期还有一个包含 Nodejs、Pandoc 及数百个科学计算包的完整发行版dot风味则是其极简分支在 winpython_builds.toml 中dot风味被定义为[flavors.dot] requirements dot_requirements.txt source_dirs packages.win-amd64 toolsdirs bdTools\\Tools.dot这解释了dot名称的来源Tools 目录Tools.dot只放 Python 本体 zip不附带任何外部工具与slim风味bdTools\tools64_pandoc_alone仅保留 Pandoc形成对照。3.11.3.1dot 内置包清单以下表格完整摘录自 WinPythondot-64bit-3.11.3.1.md是dot风味的全部内容。注意Tools 一节为空——这正是dot与完整版的最大差异不捆绑 Nodejs、npm、Pandoc 等外部工具链。名称版本说明Python3.11.3Python 编程语言及标准库msvc_runtime14.34.31931将 Microsoft Visual C 运行时 DLL 安装到sys.prefix与Scripts目录pip23.1.2PyPA 推荐的 Python 包安装工具setuptools67.7.2下载、构建、安装、升级与卸载 Python 包的工具集sqlite_bro0.12.2单 Python 文件实现的图形化 SQLite 客户端wheel0.40.0Python 内置包built-package格式winpython6.1.20230527WinPython 发行工具含 WPPM包构成背后的需求文件dot风味的内置包并非手写清单而是由构建时读取 dot_requirements.txt 解析而来# the essential sqlite_bro setuptools wheel build ##msvc_runtime # end of requirements.txt对照实际发布清单可梳理出三层来源需求文件直接指定sqlite_bro、setuptools、wheel、build直接来自dot_requirements.txt必需文件补充pip、setuptools、wppm由构建时与脚本同目录的 mandatory_requirements.txt 强制加入独立注入msvc_runtime在需求文件中被##注释掉说明它是构建链路的独立组成部分用于补齐 Windows 上编译型包所需的 VC 运行时而winpython包含 WPPM则是发行工具本体。有趣的是3.11.3.1dot 清单未列出build说明构建器在组装最终清单时会按实际交付内容整理build在 3.11.3.0dot 中同样未列出而 WinPython-64bit-3.11.3.1.md 的完整版清单中build0.10.0 与msvc_runtime均在列可见完整版走的是另一份更长的需求文件。自 3.11.3.0dot 以来的变更WinPythondot-64bit-3.11.3.1_History.md 记录了本次修订的全部增量变更自 3.11.3.0dot 以来对 WinPython-64bit 发行版所做的更改如下。升级的包winpython 6.1.20230518 → 6.1.20230527WinPython 发行工具含 WPPM这是一次纯工具链升级唯一的变更是把winpython发行工具从 6.1.20230518 升级到 6.1.20230527相隔约 9 天而 Python 3.11.3、pip、setuptools、wheel、sqlite_bro、msvc_runtime 的版本均保持不变。对比 WinPythondot-64bit-3.11.3.0.md 的清单可以确认除winpython版本号外其余内容完全一致。版本号语义winpython 6.1.20230527这类版本号遵循主版本.次版本.日期戳格式日期戳即打包日期2023-05-27。这也解释了3.11.3.0dot → 3.11.3.1dot的主版本号演进修订号 1工具版本前滚。dot 风味的构建原理一 Python、多风味dot之所以能与完整版、slim版并存是因为 winpython_builds.toml 采用了一个 Python 主版本块挂载多个风味的配置模型。文件头注释明确说明一个 build 就是(python, flavor)二元组其余一切均由它派生。路径派生规则按 winpython_builds.toml 与 build_winpython_meta.py 的实现派生逻辑为basedir {root_dir_for_builds}\bd{python} # 如 C:\Winp\bd311 requirements {basedir}\{flavor requirements} # 如 C:\Winp\bd311\dot_requirements.txt source_dirs {basedir}\{flavor source_dirs} # 如 C:\Winp\bd311\packages.win-amd64 toolsdirs {root_dir_for_builds}\{flavor toolsdirs} # 如 C:\Winp\bdTools\Tools.dot其中[defaults]提供root_dir_for_builds C:\\Winp、arch 64、find_links等公共默认值UNDER_BASEDIRrequirements、source_dirs、wheelhousereq与UNDER_ROOTtoolsdirs两组键决定了路径挂载的位置。从 TOML 到构建命令build_winpython_meta.py 会把每个 build 展开成对python -m winpython.build_winpython的一次调用关键参数包括--python-target 311 --release 3 --release-level --flavor dot --source_dirs basedir\packages.win-amd64 --tools_dirs basedir\bdTools\Tools.dot --mandatory-req mandatory_requirements.txt --requirements dot_requirements.txt --constraints constraints.txt --find-links C:\Winp\packages.srcreq --bytecode pip --only-binary yes --create-installer None其中--flavor、--source_dirs、--tools_dirs直接透传给 winpython/build_winpython.py 的make.make_all(...)--bytecode pip表示沿用 pip 内联的字节码编译可改为none或parallel-N以跳过/并行化.pyc生成见 winpython/build_winpython.py 的parse_bytecode_mode--only-binary yes强制只装 wheel避免在构建机上静默编译第三方源码参见 winpython/build_winpython.py。本地构建入口Windows 下通过批处理脚本 generate_a_winpython_distropy_meta.bat 驱动rem toml [315 | 315:slim ...] [--dry-run] call C:\WinPdev\WPy64-31190\python-3.11.9.amd64\python.exe %~dp0\build_winpython_meta.py %*用法示例对应 TOML 注释中的典型命令generate_a_winpython_distropy_meta.bat winpython_builds.toml 311:dot :: 只构建 dot 风味 generate_a_winpython_distropy_meta.bat winpython_builds.toml 311 :: 构建该 Python 的所有风味 generate_a_winpython_distropy_meta.bat winpython_builds.toml :: 构建全部 generate_a_winpython_distropy_meta.bat winpython_builds.toml --dry-run :: 只打印构建命令不执行--dry-run由 build_winpython_meta.py 的main()识别去掉参数中的--dry-run后仅打印每个 build 的完整命令。select_builds()build_winpython_meta.py支持315、315:slim、:slim三种选择语法并会为无法匹配的规格报错。从 changelog 反推构建事实发布清单与历史文件本身就是构建链路自动产出的事实快照历史文件由构建器在每次发布时生成通过set WINPYVER2/WINPYFLAVOR/WINPYVER环境变量后调用包索引对比脚本输出自上一版以来的变化见 winpython/build_winpython.py并写入WinPython{dot}-{arch}bit-{版本}_History.md发布清单WinPython*.md列出该风味交付的全部内容从源码结构看History文件中的 Upgraded packages 是自动 diff 的结果这解释了为什么 3.11.3.1dot 的变更只有一行——因为确实只有winpython工具升级。何时该选 dot 风味基于本仓库的配置事实可以做如下应用场景判断属于合理推断而非官方承诺dotTools 目录为空、仅带 7 个 Python 包适合需要最干净的 Python 运行时 pip的嵌入式/容器化场景或作为自建 wheelhouse 的起点slim在dot基础上额外保留 Pandoctools64_pandoc_alone适合需要文档转换能力的最小发行完整版含 Nodejs、npm、Pandoc 及 600 科学计算包numpy、scipy、torch、matplotlib、Jupyter 生态等开箱即用。若只想安装 wheel 而不下载整个发行版可按 README.rst 的说明使用带哈希校验的requir.*.txt或pylock.*.toml文件python -m pip install --no-deps --require-hashes requir.64-3_11_3_0dot.txt小结3.11.3.1dot 是 Python 3.11.3 6 个核心工具包组成的极简 64 位发行Tools 目录为空与 3.11.3.0dot 相比仅升级了winpython工具6.1.20230518 → 6.1.20230527dot是 winpython_builds.toml 中由(python, flavor)派生出的众多风味之一其构成由 dot_requirements.txt mandatory_requirements.txt 决定阅读同类 changelog 时关注三点即可快速定位变更Tools 表是否为空识别风味、Python/pip/setuptools 版本识别基础、Upgraded packages 列表识别增量。赞分享开发工具构建工具CLI包管理器【免费下载链接】winpythonA free Python-distribution for Windows platform, including prebuilt packages for Scientific Python.项目地址https://gitcode.com/gh_mirrors/wi/winpython点击查看免费下载相关推荐Qwen3.5-4B 基于 vLLM 的部署调用实战OpenAI 兼容 API、思考模式控制与多模态推理Qwen3.5 4B 基于 vLLM 的部署调用实战OpenAI 兼容 API、思考模式控制与多模态推理 本篇技术指南以 Datawhale《开源大模型食用指开发工具构建工具CLI包管理器WinPython 3.15.0.1dot 发行说明解读64 位 dot 风味发行版的组成、构建机制与包清单WinPython 3.15.0.1dot 发行说明解读64 位 dot 风味发行版的组成、构建机制与包清单 本文基于当前仓库 changelogs/WinP开发工具构建工具CLI包管理器DLSS Swapper 完整指南3 步给老游戏升级新版 DLSS不用等官方更新DLSS Swapper 完整指南3 步给老游戏升级新版 DLSS不用等官方更新 你玩过这种情况吗一款游戏内置的 DLSS 还是两三年前的老版本帧率和画开发工具构建工具CLI包管理器上一篇10分钟掌握StormScope-GOES-MRMS新手必备的气象AI模型使用教程下一篇如何在iOS应用中集成RRFPSBar5分钟快速上手教程创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考