WinPython 3.5.1.1 版本历史解析:从 3.5.0.1 升级的 31 项包变更全览
开发工具构建工具CLI包管理器【免费下载链接】winpythonA free Python-distribution for Windows platform, including prebuilt packages for Scientific Python.项目地址https://gitcode.com/gh_mirrors/wi/winpython点击查看免费下载WinPython 3.5.1.1 是 Python 3.5 时代的经典科学计算发行版快照本指南以官方变更历史文档 changelogs/WinPython-3.5.1.1_History.md 为主体结合当前仓库的 WPPM 工具链源码与测试逐项解析从 3.5.0.1 到 3.5.1.1 的 6 个新增包、24 个升级包与 1 个移除包并说明这些_History文件背后的机器生成机制读者将能看懂任意版本历史文件的含义并掌握用wppm -diff自行对比两个发布索引的方法。版本背景3.5.1.1 处于哪个历史节点WinPython 3.5.1.1 的完整包索引记录在 changelogs/WinPython-3.5.1.1.md 中核心信息如下核心解释器Python 3.5.1本版本最重要的升级项之一自 3.5.0 升级而来附带工具ToolsSciTE 3.3.7一款基于 SCIntilla 的多语言轻量文本编辑器生态定位这一时期的 WinPython 以 Qt4PyQt4 4.11.4 Spyder 3.0.0.dev0 Jupyter 生态ipython 4.0.1、ipykernel 4.2.1、notebook 4.0.6为核心同时打包了 numpy 1.9.3、scipy 0.16.1、pandas 0.17.1、matplotlib 1.5.0 等科学计算主力库以及 keras 0.3.0、theano 0.7.0 等早期深度学习组件。历史文档明确说明The following changes were made to WinPython distribution since version 3.5.0.1.自 3.5.0.1 以来的变更。与之配套的上一版索引是 changelogs/WinPython-3.5.0.1.md两相对照即可还原完整的升级路径。新增包6 个版本历史文档记录了 6 个全新引入的包它们是本版本的功能增量包名版本说明lazy-object-proxy1.2.1快速且彻底的惰性对象代理A fast and thorough lazy object proxyprompt-toolkit0.54用于构建强大交互式命令行界面的库qtawesome0.2.0在 PyQt / PySide 应用中使用 FontAwesome 图标qtpy0.1.2在 PyQt5、PyQt4 与 PySide 之上提供抽象层的 Qt 绑定兼容库wcwidth0.1.5度量宽字符在终端中占用的列宽wrapt1.10.5用于装饰器、包装器与猴子补丁的 Python 模块新增包的技术定位qtpy qtawesome 构成 Qt 抽象层qtpy 统一了 PyQt5/PyQt4/PySide 三套绑定的导入与 API 差异qtawesome 则为界面提供 FontAwesome 图标字体资源。两者同批进入发行版说明该版本正为上层 GUI 工具如 Spyder 及其插件的跨 Qt 绑定兼容做铺垫。从 wppm/wppm.py 的handle_specific_packages实现可以看到WinPython 对 Qt 系包有专门的后处理为 pyqt4/pyqt5/pyside2 生成qt.conf指定Prefix .、Binaries .的路径配置、创建pyuic批处理脚本并为uic/Loader、uic/port_v2、uic/port_v3补充缺失的__init__.py。qtpy 这类抽象层在多个 Qt 绑定并存的环境中正是为了降低此类适配成本。prompt-toolkit wcwidthprompt-toolkit 是交互式命令行库wcwidth 用于计算东亚宽字符在终端的显示宽度——两者常配合出现保证 REPL 与命令行工具在 CJK 环境下的光标定位正确。lazy-object-proxy wrapt两者都是元编程基础设施。lazy-object-proxy 提供惰性求值代理astroid、jedi 等分析工具常用wrapt 则提供统一的装饰器/包装器实现是 pylint 系工具链的重要依赖。升级包24 个历史文档列出 24 个升级包其中与运行时体验直接相关的关键升级如下包名版本变化说明Python3.5.0 → 3.5.1Python 编程语言及标准库astroid1.3.6 → 1.4.1从 Python ast 重建抽象语法树pylint 依赖bcolz0.12.0 → 0.12.1列式压缩数据容器bqplot0.4.2 → 0.5.0基于 d3.js 与 ipywidgets 的 Jupyter 交互绘图certifi2015.9.6.1 → 2015.11.20.1Mozilla CA 证书包click5.0 → 6.2命令行工具构建库datashape0.4.7 → 0.5.0数据描述语言decorator4.0.4 → 4.0.6装饰器工具库guidata1.7.2 → 1.7.4自动化生成数据编辑/展示 GUIguiqwt3.0.0 → 3.0.1科学数据处理的高效曲线/图像绘图组件holoviews1.4.1a1 → 1.4.0组合式声明性可视化数据结构ipykernel4.1.1 → 4.2.1Jupyter 的 IPython 内核ipython4.0.0 → 4.0.1增强交互式 Python shellkeras0.2.0 → 0.3.0基于 Theano 的深度学习库markdown2.6.4 → 2.6.5Python 实现的 Markdown 解析psutil3.2.2 → 3.3.0进程与系统资源信息接口py1.4.30 → 1.4.31跨 Python 的路径/ini/io/日志工具pylint1.4.3 → 1.5.1Python 静态代码分析pytest2.8.2 → 2.8.4简单强大的 Python 测试框架pythonqwt0.5.1 → 0.5.3Qt 绘图控件pyzmq15.0.0 → 15.1.0基于 ZeroMQ 的轻量高速消息库IPython Qt 控制台依赖qtconsole4.1.0 → 4.1.1Jupyter Qt 控制台requests-toolbelt0.4.0 → 0.5.0requests HTTP 库的扩展工具集setuptools18.5 → 18.7.1Python 包安装/构建/升级工具sphinx1.3.1 → 1.3.3reStructuredText 文档生成工具值得关注的升级组合分析工具链整体刷新astroid 1.4.1、pylint 1.5.1 与 pytest 2.8.4 同步升级配合移除 logilab-common见下文说明 pylint 1.5 已不再依赖该旧库——这正是本版本选择将其移出发行版的原因。Jupyter 生态对齐ipython 4.0.1、ipykernel 4.2.1、qtconsole 4.1.1、pyzmq 15.1.0 同步小版本升级保证 Qt 控制台与 Notebook 内核的兼容一致性。科学绘图双线并进guiqwt/pythonqwtQt 原生绘图与 bqplot浏览器端交互绘图、holoviews声明式可视化分别升级覆盖桌面 GUI 与 Notebook 两种使用场景。深度学习早期生态keras 由 0.2.0 升至 0.3.0此时 keras 仍是基于 Theano 的深度学习库对应 theano 0.7.0 的打包版本。移除包1 个包名版本说明logilab-common1.1.0Logilab 项目的底层公共库集合原为 pylint 依赖从依赖关系看logilab-common 被移除的直接原因是 pylint 1.5.1 已不再需要它其说明文字明确标注required for pylint。在 changelogs/WinPython-3.5.1.1.md 的最终索引中已无此包而 astroid 与 pylint 仍在列印证了这条依赖链的重构。历史文件是怎么生成的WPPM 的索引对比机制WinPython-3.5.1.1_History.md这类_History文件并非手工撰写而是由仓库中的 WPPM 工具对两个发布索引WinPython-3.5.0.1.md与WinPython-3.5.1.1.md做结构化对比后自动生成的。这一机制在当前仓库源码中有完整实现1. 索引文件格式wppm -md生成每个版本的发布索引由 wppm/wppm.py 的generate_package_index_markdown生成其结构为## WinPython 3.5.1.1 The following packages are included in WinPython v3.5.1.1 . ### Tools Name | Version | Description -----|---------|------------ ... ### Python packages Name | Version | Description -----|---------|------------ ...其中render_markdown_for_listwppm/wppm.py统一渲染Name | Version | Description三列表格摘要文本经 wppm/utils.py 的sum_up截断为单行最长 144 字符句号处截断保证表格整洁。因此历史文档中每条包名 (描述)的括号内容正是索引表第三列的摘要。2. 历史文件生成compare_package_indexeswppm/diff.py 的compare_package_indexes会读取两个版本的 Markdown 索引按 flavor 与架构定位文件通过compare_packageswppm/diff.py做按包名归一化-/_/.统一为-并转小写后的集合对比分别产出New packages:、Upgraded packages:输出旧版本 → 新版本箭头、Removed packages:三节。文档头部## History of changes for WinPython 3.5.1.1与The following changes were made ... since version 3.5.0.1.也由该函数拼接生成。也就是说你看到的每一行包名 旧版 → 新版 (描述)都是机器对两份索引的精确 diff不存在人工遗漏或主观取舍。3. 命令行用法自行对比任意两个发布当前仓库中wppm -diff直接接受两个 Markdown 索引文件路径wppm/wppm.pywppm -diff changelogs/WinPython-3.5.0.1.md changelogs/WinPython-3.5.1.1.md该命令会逐节Tools / Python packages / WheelHouse packages对比并输出新增/升级/移除清单。其实现细节wppm/diff.py支持full 模式默认对比全部三个节section 模式--section header1 header2只对比指定节pairs 模式--pairs按节对两两对比例如--pairs python wheelhouse。对应测试见 tests/test_diff_versions.py 与 tests/test_cli.py。阅读 changelogs 的注意事项命名与约定仓库的 tests/test_changelog_files.py 与 tests/test_diff_versions.py 对 changelogs 目录的约定做了明确固化阅读任何历史文件时值得留意文件名即版本号WinPython{flavor}-{architecture}bit-{version}.md如WinPython-64bit-3.5.1.1.md无 flavor 时为空。PEP 440 版本解析含b1、rc1、post1等发布级别决定版本排序。_History.md是配套产物而非索引解析逻辑会显式排除_History后缀文件避免把历史文件当作发布索引参与对比。flavor 与架构互相隔离dot/slim等 flavor 之间、32/64 位之间的版本线各自独立历史对比不会跨线。新构建流程已不再写_History从 tests/test_changelog_files.py 的模块文档与断言看当前每次构建只向changelogs/提交三个文件索引.md、pylock.*.toml、requir.*.txt_History配套文件不再生成读者如需上一版 vs 这一版的对比官方推荐直接用wppm -diff a.md b.md自行对比任意两个索引。如何验证与使用结合当前仓库查看完整清单本版本的 170 个包完整索引见 changelogs/WinPython-3.5.1.1.md包含 SciTE 工具与全部 Python 包的版本、PyPI 链接与描述。生成当前环境的索引在 Windows 的 WinPython 发行版中运行wppm -md可基于pip list实时生成同格式的 Markdown 包索引wppm/wppm.py。对比任意两个版本wppm -diff file1.md file2.md无需安装发行版即可阅读两份索引差异。环境要求按 README.rst 与 pyproject.toml运行 wppm 需要 Python 3.10构建工具链需要 Python 3.11wppm 本体以flit_core构建[project.scripts]注册了wppm wppm.wppm:main命令行入口。总之WinPython-3.5.1.1_History.md既是 3.5.x 时代一次包集演进的权威快照Python 3.5.1 落地、Qt 抽象层引入、pylint 依赖链瘦身也是理解 WPPM 索引-对比工具链的最佳样例读懂了这份文件就等于读懂了整个changelogs/目录的生成与阅读方法。赞分享开发工具构建工具CLI包管理器【免费下载链接】winpythonA free Python-distribution for Windows platform, including prebuilt packages for Scientific Python.项目地址https://gitcode.com/gh_mirrors/wi/winpython点击查看免费下载相关推荐WinPython 2.7.8.1 版本历史解读从 2.7.6.1 的包变更看 WinPython 发行版的迭代方式WinPython 2.7.8.1 版本历史解读从 2.7.6.1 的包变更看 WinPython 发行版的迭代方式 本文围绕 WinPython 官方版本历开发工具构建工具CLI包管理器WinPython 2.7.8.2 版本变更全解析新增 15 个科学计算包、升级 31 个核心包以及历史文档的自动化生成机制WinPython 2.7.8.2 版本变更全解析新增 15 个科学计算包、升级 31 个核心包以及历史文档的自动化生成机制 本文以 WinPython 2开发工具构建工具CLI包管理器WinPython 3.3.2.2 版本变更全解新增/升级/移除包的完整历史与仓库级 diff 机制WinPython 3.3.2.2 版本变更全解新增/升级/移除包的完整历史与仓库级 diff 机制 导读 本文以 WinPython 官方版本历史文档 c开发工具构建工具CLI包管理器上一篇深度解析ComfyUI-Manager架构设计与高效管理实践下一篇tfsec 规则解析为 aws_launch_template 启用 IMDSv2 会话令牌aws-ec2-enforce-launch-config-http-token-imds创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考