资讯动态

WinPython 3.12.3.0 dot(32 位)发行版软件包清单详解:dot 风味、构建工具链与核心组件

发布时间:2026/10/17 6:26:34 来源:尧图企业网站定制
开发工具构建工具CLI包管理器【免费下载链接】winpythonA free Python-distribution for Windows platform, including prebuilt packages for Scientific Python.项目地址https://gitcode.com/gh_mirrors/wi/winpython点击查看免费下载导读本文以仓库中 changelogs/WinPythondot-32bit-3.12.3.0.md 发布的 WinPython 32 位dot风味发行版软件包清单为主体逐项解读其内置的 Python 运行时与构建/打包工具链并结合仓库的winpython_builds.toml风味配置与build_winpython_meta.py构建脚本说明这份 changelog 是如何由构建流程自动生成的。读完本文你将掌握 WinPythondot风味的定位、它内置的每个包的用途与版本关系以及如何从源码复现同样的构建并重新生成等价清单。发行版概览WinPython-32bit v3.12.3.0dotWinPython 3.12.3.0dot是 WinPython 面向 Windows 平台的一个 32 位发行版其版本号遵循 WinPython 自有的Python 主版本 发行序号 风味名复合命名规则3.12.3.0表示基于 CPython 3.12.3构建序号为0即该 Python 版本下的首个构建末尾的dot则是本次构建采用的**风味flavor**标识。dot 风味对应仓库 winpython_builds.toml 中的[flavors.dot]配置块其特征是一份极简、面向构建与打包场景的软件包集合[flavors.dot] requirements dot_requirements.txt source_dirs packages.win-amd64 toolsdirs bdTools\\Tools.dotrequirements该风味安装的 Python 包清单文件即 dot_requirements.txtsource_dirs指向本地 wheel 源目录packages.win-amd64toolsdirs发行版附带的外部工具目录bdTools\Tools.dot。从文件命名WinPython-32bit v3.12.3.0dot可以看到WinPython 将位宽32/64、Python 版本号与风味名三要素直接编码在发行版名称中便于用户在多个版本之间精确识别与切换。核心 Python 运行时Python 3.12.3含标准库清单的第一项也是整个发行版的地基Python3.12.3即 Python 编程语言及其标准库。这是 WinPython 发行版与裸 Python 安装包的本质区别所在WinPython 在官方 CPython 运行时之上通过构建工具链将一批精选的第三方包预装进发行目录并配以便携式启动器与 WPPM 包管理器开箱即可使用。32 位32bit标识说明该发行版面向 x86 架构适用于需要在 32 位进程中运行的场景例如加载某些仅有 32 位二进制轮子的历史扩展库。便携式运行时补丁msvc_runtimemsvc_runtime14.38.33135负责将 Microsoft Visual C 运行时 DLL 安装到发行版的sys.prefix与Scripts目录中。在 Windows 上大量编译型 Python 扩展C 扩展依赖 MSVC 运行库WinPython 将其预置进发行目录使得整个发行版可以脱离系统级 VC Redistributable 独立运行——这正是 WinPython 便携式属性的关键支撑之一。其版本号14.38.33135对应 Visual Studio 2022 时代的 VC 14.38 工具集。构建与打包工具链dot风味虽然包数量极少却构成了一条完整的Python 包构建流水线覆盖了从源码构建、打包格式到安装前端的全部环节包名版本在构建流水线中的角色build1.1.1PEP 517 构建前端调用pyproject.toml中的构建后端产出 wheel/sdistpyproject_hooks1.0.0以编程方式调用pyproject.toml构建后端钩子的包装层是build的底层依赖setuptools69.2.0经典的构建/安装后端支持下载、构建、安装、升级与卸载包wheel0.43.0wheel.whl二进制打包格式的参考实现与规范工具pip24.0PyPA 官方推荐的包安装工具负责依赖解析与安装packaging23.2Python 包的版本号、依赖标记、发行版元数据解析等核心工具库为pip/build等上层提供支撑其中 build 所对应的pyproject_hooks1.0.0 与packaging23.2 构成典型的前端-后端协作关系build通过pyproject_hooks调用后端如setuptoolspackaging则负责解析版本约束与依赖标记。这一组包在仓库中同样被用于构建 WinPython 自身的工具链——例如wppm包就是通过python -m flit build这类 PEP 517 流程产出的见 README.rst。辅助工具与 WinPython 自身组件sqlite_brosqlite_bro0.12.2是一个单 Python 文件实现的图形化 SQLite 客户端用于可视化地浏览与编辑 SQLite 数据库文件。它被列入dot风味表明该发行版面向轻量数据处理与数据库调试场景提供了图形化入口。coloramacolorama0.4.6提供跨平台的终端彩色输出支持。在 Windows 上原生控制台对 ANSI 转义序列的支持有限colorama通过包装标准输出/错误流使命令行工具包括构建脚本中的日志输出能够可靠地显示颜色。winpythonWinPython 发行工具含 WPPM清单中最后一项是 winpython7.5.20240410即 WinPython 发行版自身的工具集内含WPPMWinPython Package Manager。根据 README.rst 的说明WPPM 承担三类职责浏览发行版内置的软件包目录从发行版自带的 Wheelhouse本地 wheel 仓库安装包将 WinPython 注册到系统Register WinPython。同时 README.rst 明确日常增删包推荐使用pipWPPM 是与之互补的管理工具。软件包清单是如何生成的构建工具链原理这份 changelog 并非手工撰写而是 WinPython 构建流程的自动化产物。在 winpython/build_winpython.py 的Step 7: generate changelog中构建脚本会设置WINPYVER2、WINPYFLAVOR、WINPYVER环境变量后调用from wppm import wppm result wppm.Distribution().generate_package_index_markdown()生成的文件名与本文所读文档完全对应mdn fWinPython{args.flavor}-{args.arch}bit-{changelog_version}.md # 例如 flavordot、arch32、changelog_version3.12.3.0 # WinPythondot-32bit-3.12.3.0.md生成结果一方面留在构建目录另一方面被复制到仓库的 changelogs 目录归档shutil.copyfile。由此可见本文解析的清单就是dot风味构建完成后由wppm.Distribution()依据实际安装结果反推出的包索引。构建编排winpython_builds.toml build_winpython_meta.py从零构建整个发行版的入口是 generate_a_winpython_distropy_meta.bat调用build_winpython_meta.py其命令行用法在 winpython_builds.toml 头部有明确示例generate_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 # 仅打印构建命令而不实际执行build_winpython_meta.py 中的expand_builds()会把[pythons.3XX]下的每个builds风味与 winpython_builds.toml 的[defaults]root_dir_for_builds、find_links、arch、create_installer等合并成具体构建任务若某个 Python 版本对某风味有特殊要求可用[pythons.3XX.overrides.flavor]局部覆盖。随后run_build()见 build_winpython_meta.py把上述配置组装为一条python -m winpython.build_winpython命令关键参数包括--python-target/--release/--release-level决定目标 Python 版本与发布级别--flavor风味名本文即dot--mandatory-req必装清单默认取仓库根目录的 mandatory_requirements.txt含pip、setuptools、wppm--requirements风味包清单即 dot_requirements.txt--constraints版本约束文件默认取 constraints.txt内含大量包名版本约束--find-links本地 wheel 源目录--bytecode字节码预编译模式pip/none/parallel-N--only-binary是否仅接受 wheel 二进制包--create-installer安装器类型默认None仅产出目录可配置为 7-Zip 等。其中dot风味的包清单由 dot_requirements.txt 定义内容与 changelog 中的 Python 包列表一一对应# the essential sqlite_bro setuptools wheel build ##msvc_runtime # end of requirements.txt注意该文件中msvc_runtime以##注释形式出现而 changelog 里实际安装了它——这说明清单的最终构成还会受 mandatory_requirements.txtpip、setuptools、wppm、constraints.txt 版本约束及pip依赖解析的共同影响changelog 反映的是构建机上的最终解析结果而非需求文件的简单罗列。构建主流程与配套归档winpython/build_winpython.py 展示了dot风味构建的完整流水线与winpython_builds.toml注释中的--dry-run用法相呼应Step 3安装需求—— 先装--mandatory-req必装再装--requirements风味清单并依据--bytecode/--only-binary拼接--force-reinstall、--no-compile、--only-binary:all:等 pip 选项Step 4Patch Winpython—— 调用wppm.Distribution().patch_standard_packages(, to_movableTrue)将标准包打为可移动便携式形态见 winpython/build_winpython.py随后按需字节码预编译Step 5-6wheelhouse 需求与锁文件—— 通过wppm.wheelhouse.pylock_to_req等接口生成带哈希的锁文件与 wheelhouse 需求见 winpython/build_winpython.py这也是仓库winpython/portable/下pylock.*.toml与requir.*.txt系列归档文件的来源Step 7生成 changelog—— 即本文解析的包索引 Markdown 与配套_History.md其中_History.md由wppm.diff.compare_package_indexes(...)对比该风味上一次构建生成见 winpython/build_winpython.pyStep 8创建安装器—— 按--create-installer调用 7-Zip 打包见 winpython/build_winpython.py。需要说明的是本仓库winpython是 WinPython 的wppm包与构建工具链仓库而非发行版二进制本身见 README.rstdot风味对应的历史锁文件归档位于 winpython/portable 下各cycle_*目录例如pylock.64-3_13_7_0dot.toml可用于复现对应版本的 wheel 集合。若要在本地复现dot风味的构建可参考 winpython_builds.toml 中的命令模板并准备满足 README.rst 要求的 Python 3.11 构建环境。结语WinPython 3.12.3.0 dot32 位以 CPython 3.12.3 为运行时预置了从build/wheel/setuptools/pip到sqlite_bro、msvc_runtime与winpython含 WPPM的一整套构建与运维工具是 WinPython 生态中面向构建、打包、轻量数据操作的极简风味。理解这份 changelog本质上是理解 WinPython 构建工具链的数据流winpython_builds.toml声明风味与版本 →build_winpython_meta.py展开为构建命令 →winpython.build_winpython执行安装、便携化、锁文件与索引生成 →wppm.Distribution().generate_package_index_markdown()最终产出本文所见的软件包清单。赞分享开发工具构建工具CLI包管理器【免费下载链接】winpythonA free Python-distribution for Windows platform, including prebuilt packages for Scientific Python.项目地址https://gitcode.com/gh_mirrors/wi/winpython点击查看免费下载相关推荐WinPython dot 风味 32 位发行版解析3.9.0.2dot 包清单与构建机制详解WinPython dot 风味 32 位发行版解析3.9.0.2dot 包清单与构建机制详解 导读 本文围绕 WinPython 仓库中的发行版包索引文档开发工具构建工具CLI包管理器Gobot BLE 驱动包全解析用 Go 驱动蓝牙低功耗设备Battery / Device Info / Microbit / SpheroGobot BLE 驱动包全解析用 Go 驱动蓝牙低功耗设备Battery / Device Info / Microbit / Sphero 导读 dr开发工具构建工具CLI包管理器WinPython 3.9.2.0dot32 位发行版解析dot 风味构成、软件包清单与 changelog 生成机制WinPython 3.9.2.0dot32 位发行版解析dot 风味构成、软件包清单与 changelog 生成机制 本篇技术指南以 WinPython开发工具构建工具CLI包管理器上一篇告别游戏崩溃5分钟掌握Irony Mod ManagerParadox游戏模组管理的终极解决方案下一篇30 Seconds of InterviewsReact 组件生命周期方法与挂载、更新、卸载全流程详解创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

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

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

免费获取报价 →
↑