资讯动态

WinPython 3.5.0.1Zero 构建包清单解析:最小化便携 Python 发行版的组成与清单生成机制

发布时间:2026/10/16 7:33:13 来源:尧图企业网站定制
开发工具构建工具CLI包管理器【免费下载链接】winpythonA free Python-distribution for Windows platform, including prebuilt packages for Scientific Python.项目地址https://gitcode.com/gh_mirrors/wi/winpython点击查看免费下载本文以 changelogs/WinPythonZero-3.5.0.1.md 这份构建清单build6为主体完整梳理 WinPython 3.5.0.1Zero 这一最小化发行变体所包含的工具与 Python 包并结合当前仓库中wppm包管理器与构建工具链的源码说明这类清单的字段含义、各包的定位以及此类 Markdown 清单在工程上是如何被自动生成的。1. 文档定位3.5.0.1Zero 是什么清单文档首行声明The following packages are included in WinPython v3.5.0.1Zero build6.即该文件是 WinPython 3.5.0.1Zero 第 6 次构建build6的完整软件清单分两部分Tools随发行版附带的外部工具与 Python packages预装的 Python 包。从仓库 changelogs/ 目录的文件命名可以确认Zero 是 WinPython 独立的一条发行线它与主线WinPython-3.5.0.1.md对应同一 Python 版本并在后续版本中进一步分化出 32 位与 64 位文件如同目录下的WinPythonZero-32bit-3.5.4.0.md、WinPythonZero-64bit-3.5.4.1.md。Zero 系列与主线的核心差异在包数量主线 3.5.0.1 预装了上百个科学计算包而 Zero 变体只保留 9 个 Python 包见下文对比定位为最小可用的便携 Python。配套的 changelogs/WinPythonZero-3.5.0.1_History.md 中没有任何具体变更记录仅保留 The following changes were made to WinPython distribution since version 3.5.0.1Zero. 的模板语句。可以推断3.5.0.1Zero 是该版本号下 Zero 线的首个发布History 记录的是此之后版本相对它的改动故此处为空。2. 构建 6 的完整软件清单2.1 附带工具ToolsNameVersionDescriptionSciTE3.3.7基于 Scintilla 的文本编辑器——多语言、功能强、轻量Zero 变体只附带 SciTE 这一个工具作为随发行版开箱即用的代码/文本编辑器。2.2 预装 Python 包Python packages以下 9 个包完整继承自原始清单NameVersionDescriptionPython3.5.0Python 编程语言及标准库pip7.1.2用于安装和管理 Python 包的工具prompt-toolkit0.54构建功能强大的交互式 Python 命令行界面的库pygments2.0.2通用的语法高亮库适用于各类软件setuptools18.5下载、构建、安装、升级和卸载 Python 包six1.10.0Python 2 与 3 兼容工具库sqlite-bro0.8.10单文件实现的图形化 SQLite 客户端wcwidth0.1.5测量宽字符码在终端中占用的列宽winpython1.3WinPython 发行版工具集包含 WPPM包管理器3. 最小包组合的功能拆解这 9 个包并非随意挑选从组合结构看它们恰好构成一个能自我扩展的便携 Python 一套发行版管理工具 一个轻量 GUI 工具1运行时与安装基础Python 3.5.0、pip 7.1.2、setuptools 18.5这是任何发行版的最小内核。WinPython 的扩展方式始终是解压即用 用包管理器追加pip/setuptools 就是追加能力的基础。当前仓库 README.rst 也明确pip is the recommended way to add or remove packages增删包推荐用 pipWPPM 则是围绕已提供包的导航与安装补充。2发行版工具层winpython 1.3含 WPPM及其依赖栈winpython包是 WinPython 的发行版工具集其中包含 WPPMWinPython Package Manager。Zero 清单中的prompt-toolkit 0.54、pygments 2.0.2、wcwidth 0.1.5、six 1.10.0正是这层工具的典型依赖形态prompt-toolkit提供交互式命令行pygments提供语法高亮wcwidth为终端宽字符计算列宽six保证 Python 2/3 兼容——这一组合说明 Zero 发行版保留了 WPPM 的交互式控制台能力。当前仓库中 WPPM 的实现入口是 wppm/main.pysys.exit(wppm.main())核心逻辑在 wppm/wppm.pyPackage类负责从文件名或pip list结果标准化出一个包的名称、版本、描述与 PyPI 地址Distribution类负责定位发行版根目录、解析 Python 版本与架构utils.get_python_infos、并确定wheelhouse目录位置。3轻量数据工具sqlite-bro 0.8.10描述为 a graphic SQLite Client in 1 Python file1 个 Python 文件实现的图形 SQLite 客户端。Zero 变体在剥离了上百个科学计算包之后仍保留了一个单文件的 GUI 数据工具与其便携、轻量、可用的定位一致。4与主线 WinPython 3.5.0.1 的对比同目录下的 changelogs/WinPython-3.5.0.1.md 显示同版本主线构建同为 build6预装了 167 个 Python 包numpy 1.9.3、scipy 0.16.1、pandas 0.17.1、matplotlib 1.5.0、ipython 4.0.0、jupyter 全家桶、spyder 3.0.0.dev0 等完整科学计算栈。两个文件同为 build6、同为 SciTE 3.3.7、同含 pip 7.1.2 与 winpython 1.3差异完全体现在包集合规模上Zero 只保留 9 个基础/工具包。这一对照使 3.5.0.1Zero 成为观察 WinPython最小发行变体边界的一个清晰样本。4. 清单文档的生成机制wppm 源码证据第 2 节清单表格的三列格式Name | Version | Description并非手工排版而是由 WPPM 代码生成的。在 wppm/wppm.py 中def render_markdown_for_list(self, title, items): Generates a Markdown section; name, url, version, summary md f### {title}\n\n md Name | Version | Description\n md -----|---------|------------\n for name, url, version, summary in sorted(items, keylambda p: (p[0].lower(), p[2])): md f{name} | {version} | {summary}\n md \n return md其数据链路为Distribution.get_installed_packages()wppm/wppm.py通过piptree.PipData调用目标发行版内解释器的pip list得到包名、版本、摘要三元组摘要经utils.sum_up()压缩成短描述包条目按名称小写排序后渲染成上表所示的 Markdown 行get_package_index_data()wppm/wppm.py进一步把发行版身份WINPYVER2/WINPYFLAVOR环境变量决定版本与风味名、工具列表utils.get_installed_tools、安装包列表与wheelhouse/included.wheels中的 wheel 元数据汇总为结构化记录供生成完整的包索引页。这解释了原文档中WinPython v3.5.0.1Zero build6这类版本串的来源版本由WINPYVER2 WINPYFLAVOR拼接其中WINPYFLAVOR即 Zero 这类风味标识而buildN是构建轮次。需要说明该渲染函数与索引数据收集逻辑是当前仓库wppm的实现用于说明同类清单文档的生成方式3.5.0 时代的实际构建工具链版本更老两者代码不完全相同。5. 在当前仓库中重现此类发行版工具链视角当前仓库是wppm包与构建工具链的仓库而非发行版本体见 README.rstThis is thewppmPython package and build toolchain repository, not the distribution itself。要构建一份与 3.5.0.1Zero 同类的发行版仓库提供了如下链条入口脚本generate_a_winpython_distropy_meta.bat 接收一个 TOML 配置与可选的构建选择如315:slim调用固定路径的 Python 解释器执行build_winpython_meta.py构建逻辑build_winpython_meta.py 用标准库tomllib读取配置若配置未显式列出[[builds]]块则由expand_builds()按[pythons.3XX]声明的builds风味列表自动展开出每个 Python 小版本 × 每个风味的构建任务build_winpython_meta.py 的select_builds()支持315、315:slim、:slim等命令行筛选语法风味定义winpython_builds.toml 中的[flavors.dot]、[flavors.dotf]、[flavors.slim]、[flavors.slimf]等区块以requirementswheel 清单文件如requirements_slim.txt与toolsdirs工具目录区分风味——这正是当年 Zero/dot/slim 等命名变体在工具链中的现代对应物打包 WPPM 本身按 README.rst 说明用python -m flit build从源码构建 wppm 包。适用前提需要说明当前工具链要求 Python 3 3.10 运行 wppm、 3.11 运行构建工具链README.rst 的 Dependencies 一节针对的是现代 Python 小版本如 3.13/3.14/3.15见 winpython_builds.toml3.5.0.1Zero 是 2015 年发布的历史发行版本文将其作为最小发行变体包清单的样本进行分析不能按当前工具链直接复现 3.5 时代的构建。6. 小结changelogs/WinPythonZero-3.5.0.1.md 完整记录了 WinPython 3.5.0.1Zero build6 的组成1 个工具SciTE 3.3.7 9 个 Python 包Python 3.5.0、pip、setuptools、winpython/WPPM 及其交互式依赖栈、sqlite-bro与同版本主线167 个包的对照表明 Zero 线的边界保留运行时 包管理 编辑器 单文件 GUI 工具剥离科学计算栈清单的Name | Version | Description表格格式由 WPPM 的render_markdown_for_list()等函数渲染数据来自目标发行版内解释器的pip list与 wheelhouse 元数据wppm/wppm.py当前仓库通过 generate_a_winpython_distropy_meta.bat → build_winpython_meta.py → winpython_builds.toml 的 TOML 驱动工具链将按风味flavor组装最小/科学发行版的做法延续到了现代 Python 版本。赞分享开发工具构建工具CLI包管理器【免费下载链接】winpythonA free Python-distribution for Windows platform, including prebuilt packages for Scientific Python.项目地址https://gitcode.com/gh_mirrors/wi/winpython点击查看免费下载相关推荐WinPython Zero 3.4.4.5最小化便携 Python 发行版的完整包清单与 Changelog 生成机制WinPython Zero 3.4.4.5最小化便携 Python 发行版的完整包清单与 Changelog 生成机制 本文以 WinPythonZero开发工具构建工具CLI包管理器WinPython 2.7.10.1 发行版包索引解析科学 Python 便携分发的完整包清单、版本演进与 WPPM 生成机制WinPython 2.7.10.1 发行版包索引解析科学 Python 便携分发的完整包清单、版本演进与 WPPM 生成机制 WinPython 2.7.1开发工具构建工具CLI包管理器WinPython 2.7.9.2 发行版全解析Python 2.7.9 便携式科学计算环境的组件清单与生成机制WinPython 2.7.9.2 发行版全解析Python 2.7.9 便携式科学计算环境的组件清单与生成机制 WinPython 2.7.9.2 是面向开发工具构建工具CLI包管理器上一篇拆解Grimmory技术栈Spring BootAngularMariaDB自托管图书库架构深度解析下一篇第一个MLX90614项目用ohcode积木亲手打造非接触式温度计创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑