开发工具构建工具CLI包管理器【免费下载链接】winpythonA free Python-distribution for Windows platform, including prebuilt packages for Scientific Python.项目地址https://gitcode.com/gh_mirrors/wi/winpython点击查看免费下载本文以 WinPython 仓库 changelogs 目录下的 WinPythondot-64bit-3.9.5.0_History.md 为骨架逐项拆解该 dot 风味 64 位发行版相对 3.9.4.0dot 的包升级内容同时结合仓库内 wppm/diff.py、wppm/wppm.py、winpython_builds.toml 等源码与配置文件说明这类_History.md变更清单的生成原理、文件命名约定与复现命令帮助读者既看懂「这一版改了什么」也理解「这些记录是怎么自动产出的」。一、版本概览3.9.5.0dot 是什么WinPython 是一个面向 Windows 平台的自由 Python 发行版内置经过预编译的 Scientific Python 生态包。发行版命名中带有 flavor 后缀如dot、slim、dotf表示不同的软件包组合取向dot精简的「点文件」风味仅保留运行 Python 所需的最基础组件Python 本体、pip、setuptools、wheel、sqlite_bro 等对应仓库根目录的 dot_requirements.txtslim基于另一份 requirements_slim.txt 的瘦身版无后缀如WinPython-64bit-3.9.5.0完整风味。在 winpython_builds.toml 中[flavors.dot]一节明确给出了 dot 风味的构建定义[flavors.dot] requirements dot_requirements.txt source_dirs packages.win-amd64 toolsdirs bdTools\\Tools.dot而「3.9.5.0dot」这类完整版本串按照 wppm/diff.py 中的解析模式WinPython{flavor}-{architecture}bit-(.)\.(?:txt|md)$可拆解为发行版前缀WinPython flavordot 架构64bit 版本3.9.5.0。该版本串也出现在仓库根目录的 changelogs/md5_sha1.txtWinpython64-3.9.5.0dot.exe25,839,482 字节中可作为该安装包发布记录的另一处佐证。本文主体_History.md是「历史变更清单」文档它对比的是3.9.4.0dot → 3.9.5.0dot两个相邻版本之间的差异只记录「Upgraded packages升级的包」因为 dot 风味本版没有新增与移除项。配套的 WinPythondot-64bit-3.9.5.0.md 则是该版本的「包索引」文档列出最终包含的完整包列表两者一为「结果快照」一为「变更轨迹」共同构成一个版本的完整元数据。二、本次升级的包清单Upgraded packages根据关联文档自 3.9.4.0dot 以来共有 6 个包升级均为 dot 风味的基础组件包名旧版本 → 新版本说明msvc_runtime14.28.29910 → 14.29.30036将 Microsoft Visual C 运行时 DLL 安装到 sys.prefix 与 Scripts 目录pip21.1.dev0 → 21.1.3PyPA 推荐的 Python 包安装工具Python3.9.4 → 3.9.5Python 编程语言及标准库setuptools56.0.0 → 57.0.0便捷地下载、构建、安装、升级与卸载 Python 包sqlite_bro0.9.1 → 0.9.3单文件实现的图形化 SQLite 客户端winpython4.1.20210417 → 4.3.20210620WinPython 发行版工具集含 WPPM对照同版本完整风味无 flavor的 WinPython-64bit-3.9.5.0_History.md 可以看到完整版同时包含「New packages新增」与「Removed packages移除」两大节其中新增了 spacy 3.0.6、fastai 2.4、dask_image 0.6.0、datasette_graphql 1.4 等 40 余个包并升级了 numpy 1.21.0mkl、scipy 1.7.0、torch 1.9.0、pandas 1.2.5 等 100 余个包。相比之下dot 风味刻意保持最小化——这正是 flavor 机制的意义所在不同风味面向不同使用场景dot 只承担「可运行、可扩展」的基础职责。2.1 各升级项的落点与意义Python 3.9.4 → 3.9.5Python 3.9 系列的小版本维护更新。在 WinPython 中Python 本体同时作为发行版元数据的一部分见下文distribution.python_version字段被记录。pip 21.1.dev0 → 21.1.3从开发版版本号回到正式发布轨道。pip 是 WinPython 后续通过 WPPM 安装一切扩展包的底层依赖。setuptools 56.0.0 → 57.0.0与 pip 同步升级的构建工具链。msvc_runtime 14.29.30036提供运行编译型扩展所需的 MSVC 运行时 DLL。注意 dot_requirements.txt 中该行以##msvc_runtime形式存在双井号注释说明在 requirements 文件里它处于注释状态、由构建流程另行注入。sqlite_bro 0.9.3图形化 SQLite 客户端dot 风味随附的实用小工具。winpython 4.3.20210620WinPython 自身的发行版工具集含 WPPM即 WinPython Package Manager其版本号采用日期式20210620标记构建时间。三、_History.md文档的生成机制源码级解读这类_History.md文件并非纯手工维护而是由仓库内 wppm 子包的diff模块自动生成。核心链路如下版本解析wppm/diff.py 中的changelog_versions()扫描changelogs/目录用正则WinPython{flavor}-{architecture}bit-(.)\.(?:txt|md)$匹配索引文件并用packaging.version.parse()解析版本号。正则只匹配「包索引」文件如WinPythondot-64bit-3.9.5.0.md_History.md伴生文件因无法解析为合法版本会被自动跳过寻找上一版本find_previous_version()wppm/diff.py在changelogs/中筛选所有小于目标版本的记录取最大者作为对比基准。因此 3.9.5.0 的 History 自然对上了 3.9.4.0解析两侧包索引PackageIndex类wppm/diff.py将索引文档按### Tools、### Python packages、### WheelHouse packages三类小节解析为「包名 → Package」字典逐包对比并产出清单compare_packages()wppm/diff.py对两个版本做集合差只在新版出现的包 →New packages两侧都有但版本不同 →Upgraded packages输出格式为包名 旧版本 → 新版本 (说明)正是本文档的行格式只在旧版出现的包 →Removed packages组装最终文档compare_package_indexes()wppm/diff.py拼出## History of changes for WinPython-{architecture}bit {version2 flavor}标题与开头说明最后以* * *收尾——这与本文档的结构完全一致。仓库测试 tests/test_diff_versions.py 对该机制做了针对性验证例如find_previous_version(3.14.7.1, searchdir, dot) 3.14.7.0并确认带发布级别如b1的版本也能被正确排序与选取。3.1 如何在本地复现「生成 History 文档」wppm.diff模块同时提供命令行入口wppm/diff.py支持多种对比方式# 方式一按版本号对比两个 WinPython 包索引默认从 changelogs/ 读取、64 位、空 flavor python -m wppm.diff 3.9.5.0 3.9.4.0 # 方式二显式指定 flavor 与架构 python -m wppm.diff 3.9.5.0 3.9.4.0 searchdir dot 64 # 方式三直接对比两个索引文件任意顺序、任意 flavor python -m wppm.diff WinPythondot-64bit-3.9.4.0.md WinPythondot-64bit-3.9.5.0.md # 方式四把对比结果写入 _History.md 文件 python -m wppm.diff --write-changelog 3.9.5.0 3.9.4.0 searchdir dot 64 basedir其中--write-changelog调用的write_changelog()wppm/diff.py会生成WinPython{flavor}-{architecture}bit-{version2}_History.md与本文档的命名约定完全对应。该模块还支持--section对比指定小节与--pairs成对对比小节两种细化模式。值得注意的是仓库测试 tests/test_changelog_files.py 明确说明当前构建流程不再自动生成_History.md伴生文件因为「History 的意义在于对比读者自己选择的两个索引而版本链对跨 cycle 的读者没有意义」改用wppm -diff a.md b.md这类按需对比方式。因此仓库中的_History.md文件更多承担历史归档与文档沉淀的职责。四、配套的包索引文档与 WPPM 生成管线与_History.md同目录的 WinPythondot-64bit-3.9.5.0.md 是本版本的包索引快照其表格结构Name | Version | Description由 WPPM 生成。在 wppm/wppm.py 中get_package_index_data()收集发行版身份名称、版本、Python 版本、位数、发布级别、工具列表、已装包列表与 wheelhouse 列表其中发行版身份来自环境变量WINPYVER2版本、WINPYFLAVOR风味与WINPYVER发布级别generate_package_index_markdown()调用render_markdown_for_list()wppm/wppm.py按「Tools / Python packages / WheelHouse packages」三节渲染 Markdown 表格输出格式与本文档所依附的索引文件逐列一致。从索引内容可以看到3.9.5.0dot 最终包含Python 3.9.5、msvc_runtime 14.29.30036、pip 21.1.3、setuptools 57.0.0、sqlite_bro 0.9.3、wheel 0.36.2、winpython 4.3.20210620 共 7 个 Python 包Tools 小节为空——即该风味未附带 Node.js、Pandoc、VSCode 等外部工具对比 wppm/utils.py 中get_installed_tools()的检测逻辑可印证这一点。五、从 History 文档反观 flavor 构建体系dot 风味的构建配置winpython_builds.toml由 build_winpython_meta.py 中的expand_builds()展开为具体的 (python, flavor) 构建对其派生规则是basedir {root_dir_for_builds}\bd{python}requirements {basedir}\{flavor requirements}dot 对应dot_requirements.txtsource_dirs {basedir}\{flavor source_dirs}dot 对应packages.win-amd64toolsdirs {root_dir_for_builds}\{flavor toolsdirs}dot 对应bdTools\Tools.dot。典型的本地构建命令为来自 winpython_builds.toml 与 generate_a_winpython_distropy_meta.batgenerate_a_winpython_distropy_meta.bat winpython_builds.toml 315:slim generate_a_winpython_distropy_meta.bat winpython_builds.toml 315 generate_a_winpython_distropy_meta.bat winpython_builds.toml ... --dry-run :: 仅打印构建命令而不真正执行构建时run_build()build_winpython_meta.py会将 flavor 名、requirements 路径、constraints 等以命令行参数传给python -m winpython.build_winpython。在 3.9.5.0 时代dot 风味的构建产物最终即对应本 History 文档记录的那 6 项升级——它们全部落在基础工具链上没有任何第三方科学计算包这从侧面验证了 dot flavor 的「最小可运行」定位。六、小结WinPythondot-64bit-3.9.5.0_History.md是 WinPython dot 风味 64 位发行版 3.9.4.0dot → 3.9.5.0dot 的官方变更记录6 个包升级全部集中于 Python 本体与基础工具链Python 3.9.5、pip 21.1.3、setuptools 57.0.0、msvc_runtime 14.29.30036、sqlite_bro 0.9.3、winpython 4.3.20210620。该类文档由 wppm 的 diff 模块自动生成文件命名遵循WinPython{flavor}-{architecture}bit-{version}_History.md约定读者既可通过python -m wppm.diff自行复现任意两个版本的对比也可结合同目录的包索引文件与 winpython_builds.toml 追溯每个版本、每种风味的完整构成。赞分享开发工具构建工具CLI包管理器【免费下载链接】winpythonA free Python-distribution for Windows platform, including prebuilt packages for Scientific Python.项目地址https://gitcode.com/gh_mirrors/wi/winpython点击查看免费下载相关推荐WinPython PyPy 3.8.12.2 发行版变更全解析PyPy 生态升级、包清单变迁与 History 文档生成机制WinPython PyPy 3.8.12.2 发行版变更全解析PyPy 生态升级、包清单变迁与 History 文档生成机制 WinPython 是面向 W开发工具构建工具CLI包管理器WinPython 3.3.5.7 发行版变更全解析新增与升级包清单及 History 文件生成机制WinPython 3.3.5.7 发行版变更全解析新增与升级包清单及 History 文件生成机制 WinPython 3.3.5.7 是 WinPytho开发工具构建工具CLI包管理器WinPython Qt5 32 位 3.6.8.0 版本变更深度解析从 3.6.7.0Qt5 升级的包清单与 History 文档生成机制WinPython Qt5 32 位 3.6.8.0 版本变更深度解析从 3.6.7.0Qt5 升级的包清单与 History 文档生成机制 本篇技术指南以开发工具构建工具CLI包管理器上一篇3步解锁WeMod高级功能Wand-Enhancer免费游戏修改器完全指南下一篇如何免费解锁加密音乐Unlock-Music浏览器解密工具完全指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考