资讯动态

WinPython 3.11.3.0dot 版本升级解析:dot 发行版从 3.11.0.1 到 3.11.3.0 的完整变更清单

发布时间:2026/10/17 1:57:47 来源:尧图企业网站定制
开发工具构建工具CLI包管理器【免费下载链接】winpythonA free Python-distribution for Windows platform, including prebuilt packages for Scientific Python.项目地址https://gitcode.com/gh_mirrors/wi/winpython点击查看免费下载本篇指南以仓库中 WinPythondot-64bit-3.11.3.0_History.md 这份版本历史文档为核心逐项解读 WinPython-64bit 3.11.3.0dot 发行版自 3.11.0.1dot 以来的全部包升级内容并结合winpython_builds.toml、build_winpython.py、wppm/diff.py等源码说明这些变更背后的构建与变更记录生成机制。读完本文你将能够准确解读任何一份_History.md变更记录理解 dot 发行版的定位并掌握 msvc_runtime、pip、setuptools、wheel 与 winpythonWPPM等基础设施包在发行版中的角色。一、文档说了什么3.11.3.0dot 的升级全貌changelogs/WinPythondot-64bit-3.11.3.0_History.md是一份标准的 WinPython 版本历史History/变更记录文档其结构为标题声明History of changes for WinPython-64bit 3.11.3.0dot对比基准自版本3.11.0.1dot以来的变化内容主体Upgraded packages已升级包列表文档列出的升级项共 6 个全部属于已升级类别该版本没有新增包也没有移除包包名版本变化官方描述msvc_runtime14.32.31326 → 14.34.31931将 Microsoft Visual C 运行时 DLL 安装到 sys.prefix 与 Scripts 目录pip22.3 → 23.1.2PyPA 推荐的 Python 包安装工具Python3.11.0 → 3.11.3Python 编程语言及标准库setuptools65.5.0 → 67.7.2轻松下载、构建、安装、升级与卸载 Python 包wheel0.37.1 → 0.40.0Python 的内置包built-package格式winpython5.1.20221030 → 6.1.20230518WinPython 发行版工具集包含 WPPM将这些升级与同一发行版的包索引文档 WinPythondot-64bit-3.11.3.0.md 对照可以看到 3.11.3.0dot 的最终包集合Python 3.11.3、msvc_runtime 14.34.31931、pip 23.1.2、setuptools 67.7.2、sqlite_bro 0.12.2、wheel 0.40.0、winpython 6.1.20230518。也就是说本次升级的 6 个包正是这个发行版的核心构成——dot 发行版是一个极简但完整的 Python 环境。二、dot 发行版是什么从构建配置看 flavor 的含义版本号中的dot是 WinPython 的 flavor风味/变体标识。在仓库根目录的 winpython_builds.toml 中可以看到它的定义[flavors.dot] requirements dot_requirements.txt source_dirs packages.win-amd64 toolsdirs bdTools\\Tools.dot即 dot 变体以 dot_requirements.txt 作为主需求文件。打开该文件可以看到其内容极为精简# the essential sqlite_bro setuptools wheel build ##msvc_runtime # end of requirements.txt这说明 dot 发行版的定位是essential级的最小科学计算可用环境只包含构建与安装 Python 包所必需的基础设施setuptools、wheel、build外加一个图形化 SQLite 客户端 sqlite_bro。同时 mandatory_requirements.txt 定义了任何发行版都不可少的强制包pip、setuptools、wppm。而 msvc_runtime 在需求文件中被注释掉##msvc_runtime但从包索引看它依然被装入发行版——这正是 msvc_runtime 这类随 Python 二进制 wheel 携带的运行时的典型安装方式。对比[flavors.slim]requirements requirements_slim.txt和完整发行版如 WinPython 3.11.3.0 的数百个包见 changelogs/WinPython-64bit-3.11.3.0.mddot 是刻意保持轻量的变体。三、六个升级包逐一解读3.1 Python 3.11.0 → 3.11.3这是本版本最核心的升级Python 解释器从 3.11.0 升到 3.11.3。在构建系统中Python 本体以 zip 归档形式提供。从 winpython/make.py 的_get_python_zip_file()方法可以看到构建器在source_dirs目录中按python-*.zip模式定位 Python 归档re.match(rpython-.*\.zip, ...)随后在_extract_python_archive()中解压并重定位到python子目录。版本号由 winpython_builds.toml 的[pythons.311]块python_target_release、release、my_release_level等键决定最终由 build_winpython_meta.py 组装出构建目录名WPy{arch}-{release}{release}{level}。3.2 msvc_runtime 14.32.31326 → 14.34.31931msvc_runtime 负责把 Microsoft Visual C 运行时 DLL 安装到sys.prefix与Scripts目录是整个 Windows 生态中大量二进制扩展numpy、scipy、pandas 等能够运行的底层依赖。在 dot 这种极简发行版里它同样不可或缺因为 pip 23.1.2 与后续安装的任何 C 扩展都依赖 VC 运行时。它几乎出现在仓库中每一个发行版的包索引里例如 changelogs/WinPython-64bit-3.11.3.0.md 同样记录 14.34.31931印证了其通用基础设施地位。3.3 pip 22.3 → 23.1.2 与 setuptools 65.5.0 → 67.7.2pip 与 setuptools 是 Python 包管理的双引擎pip 负责安装与解析依赖setuptools 负责构建与打包。在 mandatory_requirements.txt 中两者与 wppm 一同被列为强制项# the mandatory pip setuptools #not Wheel wppm注意注释#not Wheel——wheel 并非被强制要求而是通过各 flavor 的需求文件如 dot_requirements.txt引入这是对谁负责安装、谁负责打包的刻意分层。本次升级让 pip 从 22.3 跃升到 23.1.2属于跨多个 minor 的追赶式升级与 Python 3.11.3 的配套需求一致。3.4 wheel 0.37.1 → 0.40.0wheel 定义了 Python 的内置包格式.whl。构建系统对 wheel 格式有硬性依赖从 winpython/build_winpython.py 的pip_install()可以看到构建时使用--only-binary:all:选项默认开启即只从 wheel 安装一旦某个包没有为当前目标解释器提供 wheel构建就会立即失败而不是在构建机上现场编译第三方 C 代码。这意味着 wheel 0.40.0 不仅服务于用户后续的包安装也直接约束了发行版自身的构建策略。--only-binary可通过命令行开关关闭--only-binary no用于仍需要 sdist 兜底的 flavor如 winpython_builds.toml 中[pythons.314.overrides.slimf]的only_binary false示例。3.5 winpython 5.1.20221030 → 6.1.20230518winpython 包包含 WPPM即 WinPython Package Manager是 WinPython 发行版自身的工具集其版本号采用主版本.年.月日的日期式命名5.1.20221030 → 6.1.20230518即从 2022-10-30 的 5.1 系列升到 2023-05-18 的 6.1 系列说明它是持续滚动发布的工具链。WPPM 在构建流程中承担多项关键工作见下文第四、五节打补丁patch_standard_packages、生成包索引generate_package_index_markdown、生成变更记录diff.compare_package_indexes、锁定 wheelhousewheelhouse.pylock_to_req。仓库中 wppm 模块wppm/wppm.py、wppm/diff.py、wppm/wheelhouse.py就是这套工具的源码实现pyproject.toml 中将其描述为 pip companion: extras-aware dependency trees, offline wheelhouses, portable Pythons。四、这份 History 文档是怎么生成的变更记录的生产链路_History.md不是手工编写的而是构建流程的产物。在 winpython/build_winpython.py 的 Step 7generate changelog约 L312-L347中可以看到完整链路先用 wppm 的Distribution().generate_package_index_markdown()生成当前版本的包索引 Markdown即不带_History的.md文件如 changelogs/WinPythondot-64bit-3.11.3.0.md并归档到changelogs/目录再调用wppm.diff.compare_package_indexes()将该索引与上一版本的索引做对比输出自上一版本以来发生的变化写入WinPython{dot}-{arch}bit-{version}_History.md。对比逻辑实现在 wppm/diff.py 中Package类用正则解析索引行name | version | description与[name version] | ...两种格式PackageIndex._parse_index()按### Tools、### Python packages、### WheelHouse packages三个分区解析包表compare_package_indexes()计算新旧索引的差集输出三部分New packages:新增、Upgraded packages:升级即old.version → new.version、Removed packages:移除并生成文档头## History of changes for WinPython-64bit {version}{flavor}与对比基准说明。find_previous_version()通过文件名正则WinPython{flavor}-{architecture}bit-(.)\.(?:txt|md)$从 changelogs 目录中定位上一个版本文件名是版本号的唯一来源——所以像3.14.7.1b1这类带预发布级的版本名也能被正确解析与排序注释中明确说明3.14.7.1b1 是合法的 PEP 440 版本排序在 3.14.7.0 之后、3.14.7.1 之前。因此阅读_History.md的正确姿势是它回答的是这个发行版相对于上一个发行版包集合发生了什么变化而对应的无_History文件回答的是这个发行版最终包含什么。五、从变更记录到真实构建升级包在构建中的角色从 winpython/build_winpython.py 的主流程可以看到这些升级包分别对应构建的哪些阶段Step 3install requirements——先按 mandatory_requirements.txt 安装强制包pip、setuptools、wppm再按 flavor 的需求文件dot 用 dot_requirements.txt安装主需求sqlite_bro、setuptools、wheel、build。安装命令使用--no-index --find-links指向本地 wheelhouseconstraints.txt 提供了版本下限约束并默认--only-binary:all:保证只用 wheel。Step 4patch Winpython——调用wppm.Distribution().patch_standard_packages(, to_movableTrue)把标准包补丁为可移动portable状态这是 WinPython 免安装、可整体搬迁特性的关键。Step 5/6wheelhouse 与锁文件——通过 wppm/wheelhouse.py 的pylock_to_req()将 pylock 转换为带 SHA256 哈希的 requirements生成可复现构建的锁定文件。Step 7生成 changelog——即本文解读的_History.md文档。Step 8create installer——用utils.command_installer_7zip()打包安装器若配置了create_installer。这些阶段由仓库根目录的 build_winpython_meta.py 统一驱动它读取 winpython_builds.toml每个[pythons.3XX]块对应一个 Python 版本其builds列表声明要构建的 flavor为每个 (python, flavor) 组合拼装python -m winpython.build_winpython命令行再交由 winpython/build_winpython.py 执行。本地构建入口是 generate_a_winpython_distropy_meta.bat典型用法如generate_a_winpython_distropy_meta.bat winpython_builds.toml 311 generate_a_winpython_distropy_meta.bat winpython_builds.toml 311:dot generate_a_winpython_distropy_meta.bat winpython_builds.toml --dry-run其中311:dot表示只构建 3.11 的 dot 变体--dry-run只打印构建命令而不真正执行。六、如何验证与进一步阅读查看本版本的完整包清单changelogs/WinPythondot-64bit-3.11.3.0.md对比同版本完整发行版的升级记录changelogs/WinPython-64bit-3.11.3.0_History.md可见完整版升级的包数量远超 dot 版dot 的 6 项升级只是其中子集查看 dot flavor 的后续演变changelogs/WinPythondot-64bit-3.11.4.0.md 新增了 duckdb说明 dot 发行版也在按需扩充深入变更记录生成逻辑wppm/diff.py、winpython/build_winpython.py理解构建配置winpython_builds.toml、build_winpython_meta.py总之WinPythondot-64bit-3.11.3.0_History.md记录了一次典型的 dot 发行版基础设施升级Python 3.11.0 → 3.11.3 打底pip/setuptools/wheel 跟随更新VC 运行时同步换代发行版工具 winpython 升级到 6.1 系列。理解这份文档等于同时理解了 WinPython 的变体体系、包管理基础设施和自动化变更记录流水线。赞分享开发工具构建工具CLI包管理器【免费下载链接】winpythonA free Python-distribution for Windows platform, including prebuilt packages for Scientific Python.项目地址https://gitcode.com/gh_mirrors/wi/winpython点击查看免费下载相关推荐WinPython dot 发行版升级解析从 3.8.3.0dot 到 3.8.5.0dot 的变更全解读WinPython dot 发行版升级解析从 3.8.3.0dot 到 3.8.5.0dot 的变更全解读 本文以 WinPython 仓库官方变更记录 ch开发工具构建工具CLI包管理器WinPython-64bit 3.7.4.0 版本解析从 3.7.2.0 升级的完整变更清单与发行机制WinPython 64bit 3.7.4.0 版本解析从 3.7.2.0 升级的完整变更清单与发行机制 WinPython 是面向 Windows 平台的便开发工具构建工具CLI包管理器CANN Runtime EE1006 Not_Supported 错误码详解格式解析、触发场景与排查思路CANN Runtime EE1006 Not_Supported 错误码详解格式解析、触发场景与排查思路 导读 EE1006Not_Supported是开发工具构建工具CLI包管理器上一篇SunnyUI扩展开发完全手册自定义控件与组件开发指南下一篇TinyMapper在Unity中的应用游戏开发数据转换最佳实践创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

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

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

免费获取报价 →
↑