资讯动态

WinPython 3.8.3.0 cod 版本解析:Flavor 体系、包变更清单与 Changelog 生成机制

发布时间:2026/10/16 8:49:31 来源:尧图企业网站定制
开发工具构建工具CLI包管理器【免费下载链接】winpythonA free Python-distribution for Windows platform, including prebuilt packages for Scientific Python.项目地址https://gitcode.com/gh_mirrors/wi/winpython点击查看免费下载WinPython 是面向 Windows 平台的免费 Python 发行版cod是其众多 flavor风味变体之一本篇文章以 WinPythoncod-64bit-3.8.3.0_History.md 为主线讲解该版本相对于 3.8.2.0cod 的全部包变更新增、升级与移除的 Tools 和 Python 包。同时结合仓库中的构建脚本与 wppm 工具链说明这类 History 文档是如何自动生成的——读者读完后既能逐包掌握 3.8.3.0cod 的依赖变化全貌也能理解 WinPython 发行版的 flavor 构建与 changelog 生产机制。一、背景WinPython 的 flavor 与版本命名WinPython 仓库中的 changelogs 目录按“WinPythonFlavor-位数bit-版本号[._History].md”规则组织文件。WinPythoncod-64bit-3.8.3.0_History.md对应的是64 位、名为cod的 flavor、版本 3.8.3.0的变更历史。flavorWinPython 的“风味变体”不同 flavor 携带不同的预构建包集合。当前仓库的 winpython_builds.toml 中定义了dot、dotf、slim、slimf等 flavor每个 flavor 拥有独立的 requirements 文件与 source_dirs如[flavors.dot]对应dot_requirements.txt与packages.win-amd64。cod属于历史 flavor其包集合以“科学计算 开发工具”为特色。版本号3.8.3.0表示 Python 3.8.3 的发行版本。文档开篇即注明The following changes were made to WinPython-64bit distribution since version 3.8.2.0cod即对比基线是同 flavor 的上一版本 3.8.2.0cod。值得注意的是变更历史_History后缀与完整包索引无_History后缀如 WinPythoncod-64bit-3.8.3.0.md是两类不同文档前者只记录“相对上一版的变化”后者列出该版本全部包含的包。本篇文章聚焦前者同时以后者作为核对全集的事实依据。二、Tools 变化编辑器与 JavaScript 工具链更新3.8.3.0cod 的 Tools随发行版附带的非 Python 工具变化如下新增工具版本说明VSCode1.45.1.0微软出品的源码编辑器source-code editor developed by Microsoft升级工具旧版本 → 新版本说明Nodejsv12.16.1 → v12.16.3基于 Chrome 的 V8 引擎的 JavaScript 运行时npmjs6.13.4 → 6.14.4JavaScript 的包管理器从版本演进看本轮 Tools 的变化呈现两个特征一是将 VSCode 1.45.1.0 纳入发行版使得cod发行版开箱即得一个现代编辑器二是 Node.js 与 npm 双双小幅升级到安全修复版本。完整清单可见 WinPythoncod-64bit-3.8.3.0.md 的 Tools 表格。三、新增 Python 包24 个新成员本轮为cod发行版新增了 24 个 Python 包按功能领域归类如下3.1 Web 开发与 ASGI 生态asgiref3.2.7ASGI 规范、辅助代码与适配器是 Django/Quart 等异步框架的基础设施flask_mail0.9.1Flask 发送邮件扩展flask_session0.3.2为 Flask 应用添加服务端会话支持flask_sqlalchemy2.4.1为 Flask 应用添加 SQLAlchemy 支持python_dotenv0.13.0在开发与部署中为 Django/Flask 应用加载.env文件httpie2.1.0面向人类的 cURL 风格 CLI HTTP 客户端。3.2 地理空间与科学可视化cartopy0.18.0带 Matplotlib 支持的制图 Python 库用于地理可视化geoviews1.8.1用于天气、气候、遥感研究中地理/气象/海洋数据集的探索与可视化pyshp2.1.0纯 Python 读写 ESRI Shapefile 格式tifffile2020.5.11读写 TIFF 文件imagecodecs2020.2.18图像变换、压缩与解压编解码器。3.3 数值优化、并发与机器学习nlopt2.6.2非线性优化库封装全局/局部、约束/无约束的多种优化算法tbb2019.0Intel Threading Building BlocksIntel TBB 并行库threadpoolctl2.0.0控制各库底层线程池的上下文管理器umap_learn0.4.3Uniform Manifold Approximation and ProjectionUMAP 降维rpy23.4.0.dev0Python 与 R 语言的接口嵌入式 Routcome1.0.1捕获 Python 函数调用的结果nest_asyncio1.3.3修补 asyncio 以支持嵌套事件循环sniffio1.1.0探测代码当前运行在哪个异步库之下trio0.15.1友好的 Python 异步并发与 I/O 库trio_asyncio0.11.0在 Trio 之上重新实现 asyncio 主循环distlib0.3.0发行版工具库filelock3.0.12跨平台的独立文件锁lz43.0.2LZ4 压缩的 Python 绑定mergedeep1.3.0深度合并函数pipdeptree0.13.2命令行显示包依赖树virtualenv20.0.20虚拟 Python 环境构建器cachelib0.1统一 API 接口的缓存库集合。说明历史文档将上述部分条目统列于 New packages 之下本文按主题归类便于阅读条目数量与原文完全一致未增删。四、升级的 Python 包关键组件全线刷新本轮共有 100 个包升级其中对科学计算与开发工作流影响最大的包括4.1 科学计算核心包旧版本 → 新版本说明Python3.8.2 → 3.8.3Python 解释器本体含标准库numpy1.18.2mkl → 1.18.4mkl数组计算基础库带 MKL 加速scikit_learn0.22.2.post1 → 0.23.1机器学习与数据挖掘工具集scikit_image0.16.2 → 0.17.2SciPy 图像处理例程scipy1.4.1科学计算库本轮未变版本仍为 1.4.1numba0.48.0 → 0.49.1基于 LLVM 的 Python 编译llvmlite0.31.0 → 0.32.1LLVM 的轻量封装dask2.12.0 → 2.16.0并行 PyData 任务调度distributed2.12.0 → 2.16.0Dask 分布式调度器pyarrow0.16.0 → 0.17.1Apache Arrow 的 Python 库astropy4.0 → 4.0.1天文学工具xarray0.15.0 → 0.15.1N 维带标签数组与数据集4.2 数据可视化altair4.0.1 → 4.1.0声明式统计可视化bokeh2.0.0 → 2.0.2浏览器交互绘图holoviews1.13.0b12 → 1.13.2数据注解式可视化plotly4.5.4 → 4.7.1开源交互式绘图库seaborn0.10.0 → 0.10.1统计数据可视化matplotlib3.2.1本轮未变wordcloud1.6.0 → 1.7.0词云生成器4.3 Web 与异步框架flask1.1.1 → 1.1.2flask_restx0.1.0 → 0.2.0文档化 API 开发框架flask_accepts0.16.2 → 0.17.2quart0.11.3 → 0.12.0与 Flask 同 API 的 ASGI 微框架hypercorn0.9.2 → 0.9.5ASGI 服务器uvicorn0.11.3 → 0.11.5高速 ASGI 服务器werkzeug1.0.0 → 1.0.1WSGI 综合工具库redis3.4.1 → 3.5.2Redis 客户端sqlalchemy1.3.15 → 1.3.17数据库抽象层4.4 Jupyter 生态与开发工具jupyterlab2.0.1 → 2.1.2、jupyterlab_server1.0.7 → 1.1.3、jupyterlab_pygments0.1.0 → 0.1.1ipykernel5.1.4 → 5.2.1、ipython7.13.0 → 7.14.0、jupyter_client6.1.0 → 6.1.3spyder4.1.1 → 4.1.3、spyder_kernels1.9.0 → 1.9.1jedi0.15.2 → 0.17.0自动补全核心、parso0.6.2 → 0.7.0pylint2.4.4 → 2.5.2、pyflakes2.1.1 → 2.2.0、pycodestyle2.5.0 → 2.6.0pip20.0.2 → 20.1.1、setuptools46.0.0 → 46.4.0sphinx2.4.4 → 3.0.34.5 地理空间与图像rasterio1.1.3 → 1.1.4栅格 I/O、pyproj2.6.0 → 2.6.1.post1坐标投影folium0.10.1 → 0.11.0Leaflet 地图、ipyleaflet0.12.3 → 0.12.6pillow7.0.0 → 7.1.2PIL 分支、imageio_ffmpeg0.4.1 → 0.4.2moviepy1.0.1 → 1.0.3视频编辑其余升级包还包括beautifulsoup4 4.8.2 → 4.9.0、cryptography 2.8 → 2.9.2、cvxopt 1.2.4 → 1.2.5、cvxpy 1.0.28 → 1.0.31、cython 0.29.15 → 0.29.19、fastparquet 0.3.3 → 0.4.0、hypothesis 5.6.0 → 5.14.0、joblib 0.14.1 → 0.15.1、lxml 4.5.0 → 4.5.1、marshmallow 3.5.1 → 3.6.0、nltk 3.4.5 → 3.5、pandas_datareader 0.8.1、papermill 2.0.0 → 2.1.1、pyqt5 5.14.1 → 5.14.2、pytz 2019.3 → 2020.1、regex 2020.2.20 → 2020.5.14、simpy 3.0.12 → 4.0.1、tqdm 4.43.0 → 4.46.0、tzlocal 1.5.1 → 2.1、xlwings 0.18.0 → 0.19.4以及 winpython 工具自身 2.3.20200319 → 2.4.20200425 等完整清单请查阅原文 WinPythoncod-64bit-3.8.3.0_History.md。五、移除的 Python 包本轮移除 3 个包包版本说明importlib_metadata1.5.0读取 Python 包元数据portalocker1.5.2封装 portalocker 配方以便使用zipp3.1.0pathlib 兼容的 zip 文件对象包装器这三者在 Python 3.8 时代通常是importlib_metadata的传递依赖。移除后对应功能由标准库或升级后的依赖链覆盖Python 3.8 起标准库已内置importlib.metadatazipp与portalocker亦随依赖重构不再需要这也是发行版精简依赖的常见做法。六、深入原理History 文档是如何自动生成的这份 History 文档并非人工维护而是由仓库构建流水线在每次构建发行版时自动产出。理解其生成机制有助于正确解读文档内容。6.1 生成链路一构建时自动对比build_winpython.py在 winpython/build_winpython.py 中构建流程的 Step 7“generate changelog”执行如下动作组装版本标识changelog_version f{winpyver2}{args.release_level}再拼接 flavor 与位数得到两个文件名WinPython{flavor}-{arch}bit-{version}.md完整包索引WinPython{flavor}-{arch}bit-{version}_History.md变更历史调用wppm.Distribution().generate_package_index_markdown()生成完整包索引 Markdown写入 changelogs 目录调用diff.compare_package_indexes(...)与上一版本对比生成_History.md——这正是本篇文章的主体来源。其中 generate_package_index_markdown 通过get_package_index_data采集三类数据tools来自utils.get_installed_tools、packages来自piptree.PipData().pip_list(fullTrue)扫描已安装包、wheelhouse扫描wheelhouse/included.wheels目录再以render_markdown_for_list渲染为Name | Version | Description表格——这也是 WinPythoncod-64bit-3.8.3.0.md 中完整包列表的格式来源。6.2 生成链路二diff 对比逻辑wppm/diff.py对比实现 的核心是compare_packages(old, new)先将包名做规范化k.replace(-, _).lower()避免numpy与numpy-等命名差异造成误判added新索引有、旧索引无 → 记入 “New packages”upgraded两边都有但版本不同 → 记入 “Upgraded packages”格式为旧版本 → 新版本removed旧索引有、新索引无 → 记入 “Removed packages”。compare_package_indexes还负责版本定位find_previous_version在 changelogs 目录中解析所有历史版本文件名即版本号来源自动挑选“小于目标版本的最大版本”作为对比基线。例如本文件标题为 “since version 3.8.2.0cod”正是该逻辑自动选中的上一版本。6.3 手动复现wppm -diff 命令无需构建发行版任何用户都可以用仓库自带的 wppm 工具手动对比两份索引$ python -m wppm.diff WinPythoncod-64bit-3.8.3.0.md WinPythoncod-64bit-3.8.2.0.md或按版本号模式$ python -m wppm.diff 3.8.3.0 3.8.2.0 . cod 64在 Windows 上也可直接使用发行版内的wppm -diff命令。注意Windows 控制台默认编码是 cp1252而升级条目中包含→箭头字符因此 diff.py 入口 会先将 stdout 重配置为 UTF-8避免中文/箭头字符导致解码崩溃。七、flavor 构建机制与“cod 从何而来”当前仓库 winpython_builds.toml 定义了 flavor 的通用机制每个 flavor 是一个(python, flavor)对一切路径均由配置推导basedir {root_dir_for_builds}\bd{python} requirements {basedir}\{flavor requirements} source_dirs {basedir}\{flavor source_dirs} wheelhousereq {basedir}\{flavor wheelhousereq} toolsdirs {root_dir_for_builds}\{flavor toolsdirs}build_winpython_meta.py 中的expand_builds会读取[pythons.3XX]与[flavors.*]配置展开出每个构建命令行支持315:slim这样的选择语法。cod是历史上的一个 flavor——当时的版本中cod表示包含 CodSpyder/科学计算 开发工具包集合的发行版其 requirements 由当时的构建配置指定。虽然当前仓库的 TOML 已不再列cod现役 flavor 为 dot/dotf/slim/slimf但 changelogs 目录完整保留了这个 flavor 的历史索引与变更记录仍可读、可对比。从源码结构看一个发行版的 flavor 定义主要影响三件事装哪些包requirements 文件、从哪个 wheel 目录找包source_dirs/find_links、附带哪些 Toolstoolsdirs。因此不同 flavor 的 History 文档天然不同解读时必须注意 flavor 前缀。八、结论与阅读建议3.8.3.0cod 是一次典型的“季度性大版本刷新”核心解释器升级至 Python 3.8.3新增 24 个包地理可视化 cartopy/geoviews、Web 后端 flask_mail/flask_session、并发 trio 家族、优化库 nlopt 等升级 100 包numpy/scikit-learn/numba 等科学计算栈、JupyterLab 2.1.2、Spyder 4.1.3并精简掉 3 个不再需要的传递依赖。阅读与引用建议查全量看 WinPythoncod-64bit-3.8.3.0.md该版本全部包清单查变化看本文所依据的 WinPythoncod-64bit-3.8.3.0_History.md自行对比任意两个版本用python -m wppm.diff 旧索引.md 新索引.md或wppm -diff了解构建配置阅读 winpython_builds.toml 与 build_winpython_meta.py理解工具链深入 wppm/diff.py 与 wppm/wppm.py 查看对比与索引渲染实现。注本文涉及的版本与包信息均以当前仓库 changelogs 目录中实际记录为准适用于历史发行版的解读与对比现役版本的构建请以仓库根目录的 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 cod 变体 3.8.0.0 完整解析包清单、flavor 机制与 changelog 生成原理WinPython cod 变体 3.8.0.0 完整解析包清单、flavor 机制与 changelog 生成原理 本篇文章以仓库 changelogs 目开发工具构建工具CLI包管理器WinPython 3.6.6.2 Zero 发行版全解析包清单、版本变更与 changelog 生成机制WinPython 3.6.6.2 Zero 发行版全解析包清单、版本变更与 changelog 生成机制 WinPython 3.6.6.2Zero 是 W开发工具构建工具CLI包管理器WinPython Slim 3.5.1.1 版本解析变更历史、新增包清单与 Changelog 生成机制WinPython Slim 3.5.1.1 版本解析变更历史、新增包清单与 Changelog 生成机制 WinPython 是一款面向 Windows 平开发工具构建工具CLI包管理器上一篇终极指南如何利用StarVector实现训练数据隐私保护——差分隐私技术全解析下一篇Dawarich数据保留策略自动清理过期位置记录的方法创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

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

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

免费获取报价 →
↑