资讯动态

WinPythonZero 3.7.2.0 64 位发行版包索引解析:极简变体的软件清单与生成机制

发布时间:2026/10/16 2:45:23 来源:尧图企业网站定制
开发工具构建工具CLI包管理器【免费下载链接】winpythonA free Python-distribution for Windows platform, including prebuilt packages for Scientific Python.项目地址https://gitcode.com/gh_mirrors/wi/winpython点击查看免费下载WinPythonZero-64bit-3.7.2.0 是 WinPython 便携发行版历史上一个极具代表性的极简Zero变体它在 Python 3.7.2 之上仅打包了约 25 个精心挑选的 Python 包Tools 一节完全留空。本文以仓库中的 changelogs/WinPythonZero-64bit-3.7.2.0.md 为骨架完整还原这份包索引的全部内容并结合 wppm/wppm.py 的源码说明这类索引文件的生成原理、文件名解析规则与 WPPM 的实战用法帮助读者理解一个 WinPython 发行版到底装了什么、以及这份清单是如何被自动化产出的。一、文件定位这不是普通更新日志而是一份包索引在 WinPython 仓库中changelogs/目录下的.md文件大致分为两类包索引package index如WinPythonZero-64bit-3.7.2.0.md逐行列出某个发行版内置的 Tools 与 Python 包名称、版本、简介是发行版的物料清单Bill of Materials历史对比History如WinPythonZero-64bit-3.7.2.0_History.md记录相对于上一个版本的包变更。本文涉及的文件属于前者其开头的两行给出了完整的身份信息## WinPython 3.7.2.0Zero The following packages are included in WinPython-64bit v3.7.2.0Zero .这里的3.7.2.0Zero是完整的 WinPython 版本号其中3.7.2是底层 Python 版本0是构建号Zero是发行变体flavor标识。这一命名规则与 winpython/make.py 中的实现一一对应property def winpython_version_name(self) - str: Returns the full WinPython version string. return f{self.python_full_version}.{self.build_number}{self.flavor}{self.release_level}即版本号由Python完整版本 构建号 变体名 发布级别拼接而成Zero直接附着在构建号之后、不带分隔符与文件名和标题中的写法完全吻合。文件名解析规则包索引文件名的格式是WinPython{Flavor}-{bits}bit-{version}.md。仓库测试 tests/test_changelog_files.py 用参数化用例固定了这一解析逻辑(WinPythonslim-64bit-3.15.0.5b1.md, (slim, 64, 3.15.0.5b1)), (WinPythondotf-64bit-3.14.7.1b1.md, (dotf, 64, 3.14.7.1b1)), (WinPython-64bit-3.9.8.0.md, (, 64, 3.9.8.0)), # the unflavored ones依此类推WinPythonZero-64bit-3.7.2.0.md解析出的三元组就是(Zero, 64, 3.7.2.0)变体Zero、64 位、WinPython 版本3.7.2.0。二、Zero 变体是什么从空 Tools 表与精简包集看极简发行从changelogs/目录的历史文件可以看出Zero 系列是一个横跨 Python 2.7.12 到 3.7.4 的独立发行线如WinPythonZero-2.7.12.2.md、WinPythonZero-64bit-3.7.4.1.md等其最显著的特征在本文件中一目了然Tools 一节完全为空——不附带任何独立开发的命令行工具Python 包数量被压缩到约 25 个——只保留能用的最小子集。这与仓库当前在 winpython_builds.toml 中维护的dot、dotf、slim、slimf等变体形成了对比当前各变体均通过toolsdirs指向bdTools\...等工具目录如toolsdirs bdTools\\Tools.dot而 Zero 索引中没有任何工具。可以推断Zero 的目标场景是只要一个能跑的 Python 解释器 少量常用库连 IDE、文档工具等一概不带。变体标识还会写入发行版的环境配置。在 winpython/make.py 的_create_env_config中WINPYFLAVOR被写入scripts/env.iniconfig { WINPYthon_exe: executable_name, WINPYthon_subdirectory_name: self.python_directory_name, WINPYVER: self.winpyver, WINPYVER2: self.winpyver2, WINPYFLAVOR: self.flavor, WINPYARCH: self.distribution.architecture if self.distribution else 64, }而 wppm/wppm.py 在生成包索引时也会读取这些环境变量WINPYVER2、WINPYFLAVOR、WINPYVER来还原发行版身份并在WINPYVER2为空即普通 Python时明确不将其冠以 WinPython 之名is_winpython my_winpyver2 ! 。三、完整软件清单26 个条目逐项解读以下为本文件 changelogs/WinPythonZero-64bit-3.7.2.0.md 中 Python packages 一节的完整原文Tools 表为空故不列NameVersionDescriptionPython3.7.2Python programming language with standard librarybrotli1.0.7Python binding of the Brotli compression librarycloudpickle0.8.0Extended pickling support for Python objectsdask1.1.3Minimal task scheduling abstractiondocopt0.6.2Pythonic argument parser, that will make you smileidlex1.18IDLE Extensions for Pythonjedi0.13.3An autocompletion tool for Python that can be used for text editorsjoblib0.13.2Lightweight pipelining: using Python functions as pipeline jobs.locket0.2.0File-based locks for Python for Linux and Windowsparso0.3.4A Python Parserpartd0.3.9Appendable key-value storagepip19.0.3A tool for installing and managing Python packagesprompt_toolkit2.0.9Library for building powerful interactive command lines in Pythonptpython2.0.4Python REPL build on top of prompt_toolkitpygments2.3.1Generic syntax highlighter for general use in all kinds of softwarepyodbc4.0.26DB API Module for ODBCpython_snappy0.5.3Python library for the snappy compression library from Googlepythonnet2.4.0.dev0.Net and Mono integration for Pythonqtpy1.6.0Provides an abstraction layer on top of the various Qt bindings (PyQt5, PyQt4 and PySide) and additional custom QWidgets.setuptools40.8.0Download, build, install, upgrade, and uninstall Python packages - easilysix1.12.0Python 2 and 3 compatibility utilitiessqlite_bro0.8.11a graphic SQLite Client in 1 Python filetoolz0.9.0List processing tools and functional utilitieswcwidth0.1.7Measures number of Terminal column cells of wide-character codeswheel0.33.1A built-package format for Python.winpython1.11.20190223WinPython distribution tools, including WPPM (package manager)按功能对这份清单做归类可以更清楚地看到极简背后的取舍逻辑解释器与包管理地基Python 3.7.2、pip 19.0.3、setuptools 40.8.0、wheel 0.33.1、winpython1.11.20190223携带 WPPM 包管理器。这一组保证发行版装上就能pip install、能被打包并行 / 延迟计算dask 1.1.3任务调度抽象、cloudpickle 0.8.0对象序列化、joblib 0.13.2、toolz 0.9.0函数式工具、partd 0.3.9可追加式键值存储、locket 0.2.0文件锁。这是一条完整的 Dask 生态链说明 Zero 变体虽小仍保留了数据科学的最小工作集REPL 与代码编辑体验ptpython 2.0.4、prompt_toolkit 2.0.9、jedi 0.13.3补全、parso 0.3.4Python 解析器、pygments 2.3.1语法高亮、wcwidth 0.1.7终端宽度计算、idlex 1.18IDLE 扩展数据库访问pyodbc 4.0.26ODBC 数据库 API、sqlite_bro 0.8.11单文件实现的图形化 SQLite 客户端压缩brotli 1.0.7、python_snappy 0.5.3互操作与兼容pythonnet 2.4.0.dev0.NET / Mono 集成注意此版本为 dev 预发布版本号、qtpy 1.6.0Qt 绑定抽象层、six 1.12.0Python 2/3 兼容、docopt 0.6.2命令行参数解析。从winpython工具包的版本号1.11.20190223日期型版本号约 2019 年 2 月可以推断这份索引大约对应 2019 年初的构建其技术栈Python 3.7.2 / pip 19.0.3 / dask 1.1.3是当时 WinPython 发行线的主流组合。四、包索引的实战用途校验、对比与重建1. 用 WPPM 重新生成包索引这类.md文件并非手工维护而是由 WPPM 的Distribution类自动产出。核心方法在 wppm/wppm.pydef generate_package_index_markdown(self, ...) - str: Generates a Markdown formatted package index page. data self.get_package_index_data(...) d data[distribution] return f## {d[name]} {d[version]} The following packages are included in {d[name]}-{d[architecture_bits]}bit v{d[version]} {d[release_level]}. {self.render_markdown_for_list(Tools, as_tuples(data[tools]))} {self.render_markdown_for_list(Python packages, as_tuples(data[packages]))} {self.render_markdown_for_list(WheelHouse packages, as_tuples(data[wheelhouse]))} 对比可见## WinPython 3.7.2.0Zero、The following packages are included in WinPython-64bit v3.7.2.0Zero .、### Tools/### Python packages三级标题乃至Name | Version | Description三列表格头全部与 render_markdown_for_list 的模板逐字吻合——也就是说读者在 changelogs 里看到的每个包索引都是当时构建时用同样的代码生成后归档的产物。在命令行中手动触发这一输出对应wppm -md见 wppm/wppm.py。get_package_index_datawppm/wppm.py进一步揭示了索引数据的四个来源distribution发行版身份名称、版本、Python 版本、位数、发布级别由 Python 可执行文件与环境变量推导tools通过utils.get_installed_tools枚举发行版自带的独立工具packages通过pip list --formatfull收集已安装包get_installed_packages见 wppm/wppm.pywheelhouse扫描wheelhouse/included.wheels目录中的离线 wheel 仓库。Zero 索引中 Tools 为空正是该发行版没有安装任何独立工具的真实反映。2. 对比任意两个发行版索引由于每个版本、每个变体都有一份独立索引升级/换变体时最常用的操作是直接对比两份文件。WPPM 提供了-diff子命令wppm/wppm.pywppm -diff WinPythonZero-64bit-3.7.2.0.md WinPythonZero-64bit-3.7.4.0.md该命令接受任意两份索引不要求相邻版本、不要求同变体输出 1.2.3 → 1.2.4 形式的升级建议wppm/wppm.py。这正是 tests/test_changelog_files.py 文档字符串中强调的设计历史对比文件_History.md的链条在变体随时增减的发行节奏里没有意义读者想要的对比应由自己用wppm -diff完成。顺带一提本仓库 changelogs 目录中还保留了同系列的WinPythonZero-64bit-3.7.4.0.mdchangelogs/WinPythonZero-64bit-3.7.4.0.md其中 dask 升至 2.1.0、cloudpickle 升至 1.2.1、pip 升至 19.1.1、pythonnet 转正为 2.4.0去掉 dev0可作为wppm -diff的现成练习素材。3. 列出与检查已安装包wppm -ls列出已安装包支持正则过滤如wppm -ls pandwppm -lsa pandas -l1列出包的详细信息与依赖层级wppm -p pandas[.]查看包非缺失依赖wppm -r pytest![test]查看反向依赖wppm -tl requirements.txt -v把 requirements 文件裁剪为顶层条目去掉被其他条目拉入的传递依赖。以上参数定义均可直接在 wppm/wppm.py 的ArgumentParser中找到原文。4. 以索引为蓝本重建发行环境包索引是发行版装了哪些包的权威记录。若要脱离安装包、仅凭清单重建同等环境仓库提供了两条路径见 README.rst使用随发行版发布的pylock.toml锁文件通过wppm pylock.toml -ws 源目录 -wd 目标目录从 WheelHouse 拉取对应 wheel见 wppm/wppm.py使用带哈希的requirements-with-hash.txt在 pip 原生支持 pylock 之前的标准做法。因此changelogs/里的每一份包索引既是发行说明也是可追溯的依赖清单。五、归档链路与质量保障包索引如何进入 changelogs从构建到归档包索引文件的落盘路径由.github/scripts/changelog_files.py及配套测试 tests/test_changelog_files.py 固定要点包括每次构建产出 3 类元数据文件包索引.md、pylock.*.toml、requir.*.txt描述二进制的hashes_*.md不属于 changelogs见 tests/test_changelog_files.py不生成_History.md配套文件——正如前述版本对比统一由wppm -diff承担tests/test_changelog_files.py空目录、缺失目录等异常必须显式报错避免静默成功、什么都没提交tests/test_changelog_files.py。结合 winpython/make.py 的构建主流程解压 Python 归档 → 建立Distribution→ 复制启动器与工具 → 写env.ini可以完整还原一条链路构建发行版 → 生成包索引 Markdown → 归档到 changelogs/ → 用测试与wppm -diff校验。本文所读的WinPythonZero-64bit-3.7.2.0.md正是这条自动化流水线在 2019 年 Zero 变体上留下的可读产物。六、使用前提与注意事项运行环境运行wppm需要 Python ≥ 3.10运行构建工具链需要 Python ≥ 3.11见 README.rst历史版本语义本文索引对应 Python 3.7.2 时代的极简发行其包版本如 pip 19.0.3、dask 1.1.3属于当时的技术栈当前仓库在 winpython_builds.toml 中维护的是dot/dotf/slim/slimf等新变体Zero 系列已不再出现在该配置的[flavors.*]段中属于已完成历史使命的发行线索引即证据changelogs 中每个包索引都由 WPPM 的generate_package_index_markdown模板生成见 wppm/wppm.py因此某发行版包含某包某版本这一事实始终可以追溯到生成它的源码逻辑与其构建时的真实环境状态。赞分享开发工具构建工具CLI包管理器【免费下载链接】winpythonA free Python-distribution for Windows platform, including prebuilt packages for Scientific Python.项目地址https://gitcode.com/gh_mirrors/wi/winpython点击查看免费下载相关推荐WinPythonZero 3.6.6.164 位极简发行版全解析包清单、升级记录与 changelog 生成机制WinPythonZero 3.6.6.164 位极简发行版全解析包清单、升级记录与 changelog 生成机制 本文围绕 WinPython 仓库中的开发工具构建工具CLI包管理器WinPythonZero 3.7.0.032 位发行版清单全解读极简便携 Python 发行与 WPPM 包清单生成机制WinPythonZero 3.7.0.032 位发行版清单全解读极简便携 Python 发行与 WPPM 包清单生成机制 本篇指南围绕 WinPytho开发工具构建工具CLI包管理器WinPython Ps2-64bit 3.7.2.0 发行版软件清单解析包索引结构与生成原理WinPython Ps2 64bit 3.7.2.0 发行版软件清单解析包索引结构与生成原理 本文以仓库中的发行版清单文档 changelogs/WinPy开发工具构建工具CLI包管理器上一篇动物森友会岛屿设计不求人Happy Island Designer 完整上手指南下一篇Wand-Enhancer零成本激活Wand专业版10分钟倒推式上手全攻略创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

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

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

免费获取报价 →
↑