☰
WinPython 3.4.2.2 发行版全解析:内置工具、预装科学计算包与版本变更指南
2026/10/15 3:47:34 网站建设 项目流程
  • 开发工具
  • 构建工具
  • CLI
  • 包管理器

【免费下载链接】winpython

A free Python-distribution for Windows platform, including prebuilt packages for Scientific Python.

项目地址:https://gitcode.com/gh_mirrors/wi/winpython
点击查看免费下载

导读:本文以开源仓库 winpython 中 changelogs/WinPython-3.4.2.2.md 为绝对主体,完整还原 WinPython 3.4.2.2(2014-11 发布)这套面向 Windows 的 Python 3.4 科学计算发行版的内置工具与全部预装包清单,并结合同目录的版本变更记录(History)、发布校验文件和仓库中的 WPPM(WinPython Package Manager)工具链源码,讲清"这份清单是什么、从上一版变了什么、它是如何被生成和比对的"。读完你将对一个典型 WinPython 发行版的构成粒度、包选型逻辑与配套工具链形成完整认知。

一、发行版概览:WinPython 3.4.2.2 是什么

WinPython 是面向 Windows 平台的 Python 免费发行版,核心卖点是便携(portable)与开箱即用的科学计算环境。仓库 README 将其定位为"A free Python-distribution for Windows platform, including prebuilt packages for Scientific Python",而本仓库(gh_mirrors/wi/winpython)承载的是 WPPM 包管理器与构建工具链本身,发行版的每一版内容物都沉淀在changelogs/目录的清单文档中。

changelogs/WinPython-3.4.2.2.md 即 WinPython v3.4.2.2 的官方包清单(package index),它回答三个问题:

  • 该版本基于哪个 Python 解释器?——Python 3.4.2(含标准库);
  • 捆绑了哪些外部工具?—— gettext、SciTE、MinGW32 三件套;
  • 预装了多少 Python 包?—— 89 个第三方包,外加发行版自身的winpython工具包(内含 WPPM)。

该清单并不区分 32/64 位,因为两套架构的发行版内容物一致;从 changelogs/md5_sha1.txt 可以看到,3.4.2.2 实际发布了winpython-64bit-3.4.2.2.exe与winpython-32bit-3.4.2.2.exe两个安装包(详见下文"发布校验"一节)。清单文档标题下的引导句"The following packages are included in WinPython v3.4.2.2",正是每个 WinPython 版本清单的标准模板。

二、内置工具(Tools):编辑器、编译器与国际化三件套

WinPython 发行版除了 Python 解释器本身,还会捆绑少量外部可执行工具,它们通常位于发行版根目录,直接由WinPython Command Prompt等入口调用。3.4.2.2 版本携带以下工具:

名称版本说明
gettext0.14.4GNU gettext 的 Win32 移植版,GNU 翻译工具(为标准库模块 pygettext 提供支持)
SciTE3.3.7基于 SCIntilla 的文本编辑器,多语言支持,轻量而强大
MinGW324.8.1C/C++ 与 Fortran 编译器(32 位对应 www.mingw.org 的 MinGW;64 位场景对应 numpy 官方文档推荐的 MinGW 静态工具链方案)

三者的分工很清晰:

  • SciTE面向快速编辑场景:单文件、零配置、语法高亮,适合在便携环境里应急改脚本;
  • gettext + pygettext面向国际化(i18n)开发:pygettext是 Python 标准库模块,用于从源码提取待翻译字符串,gettext 则负责生成/管理.mo编译消息目录;
  • MinGW32面向需要本地编译的场景:当 PyPI 上没有预编译 wheel 时,可用它编译 C/C++/Fortran 扩展模块——这也是科学计算发行版保留编译器的最直接理由。

可以推断,这套工具组合是"便携发行版 + 科学计算"定位的产物:既要能跑,也要能编,还要能多语言化。事实上该工具组合在 3.4.x 系列中保持稳定——唯一变化是 MinGW32 在下一版 3.4.2.3 中升级到了 4.9.2(见 changelogs/WinPython-3.4.2.3.md)。

三、Python 包清单:89 个第三方包全景

这是 3.4.2.2 清单的主体部分,覆盖了 2014 年底 Python 3.4 科学计算生态的主流组件。以下按功能域分组完整罗列(名称、版本与说明均忠实于原清单文档)。

3.1 核心科学计算与数据分析

名称版本说明
numpy-MKL1.9.1NumPy:面向数字、字符串、记录与对象的多维数组处理(SciPy 的核心模块);包名中的-MKL后缀表明该构建面向 Intel MKL 数学核心库,与官方 PyPI 通用构建相区别
scipy0.14.0SciPy:科学计算库(高等数学、信号处理、优化、统计等)
pandas0.15.1面向数据分析、时间序列与统计的强大数据结构
matplotlib1.4.22D 绘图库(可嵌入 PyQt 构建的 GUI 中)
sympy0.7.5符号数学库
statsmodels0.6.0供 SciPy 使用的统计计算与模型
seaborn0.4.0统计数据可视化
ggplot0.6.5面向 Python 的 ggplot
numexpr2.4基于向量化虚拟机逐元素快速求值数组表达式
numba0.15.1使用 LLVM 编译 Python 代码
llvmpy0.12.7LLVM 的 Python 绑定
Cython0.21.1一种让为 Python 编写 C 扩展像写 Python 一样容易的语言
joblib0.8.3_r1轻量级流水线:将 Python 函数用作流水线作业
patsy0.3.0用符号公式描述统计模型
brewer2mpl1.4.1将 colorbrewer2.org 色图接入 Python 与 matplotlib
husl4.0.0人性化 HSL(色相-饱和度-明度)颜色空间
mpld30.2Matplotlib 的 D3 查看器(把 matplotlib 图输出为交互式 D3 网页)

3.2 机器学习、图像与计算机视觉

名称版本说明
scikit-learn0.15.2用于机器学习与数据挖掘的 Python 模块集
scikit-image0.10.1面向 SciPy 的图像处理工具箱
mahotas1.2.3计算机视觉库
nltk3.0.0自然语言处理工具包(NLTK)
cvxopt1.1.7凸优化库
lmfit0.8.0带边界与约束的最小二乘拟合

3.3 数据存取、数据库与 HDF 生态

名称版本说明
h5py2.3.1HDF5 文件的通用 Python 接口(与 PyTables 不同,h5py 直接访问完整 HDF5 C 库)
tables3.1.1基于 HDF5 库、用于管理分层数据集(超大数据量)的包
ViTables2.1浏览与编辑 HDF5/PyTables 格式文件的图形工具
pyhdf0.8.3HDF4 文件(第四版层次数据格式)的 Python 接口
sqlite_bro0.8.7.4单个 Python 文件实现的图形化 SQLite 客户端
SQLAlchemy0.9.8SQL 工具包与对象关系映射器(ORM)
sqlparse0.1.13非校验型 SQL 解析器
baresql0.7.0直接在 Python 数据上玩转 SQL
db.py0.3.1"一个不烂的 db 包"
mysql-connector-python1.2.3纯 Python 编写的 MySQL 驱动
pg80001.10.1PostgreSQL 接口库
pyodbc3.0.7ODBC 的 DB API 模块
prettytable0.7.2以美观的 ASCII 表格形式展示表格数据的简单库
xlrd0.9.3从 Microsoft Excel 电子表格提取数据
XlsxWriter0.6.2创建 Excel XLSX 文件的 Python 模块

3.4 交互式环境与 IDE 支撑

名称版本说明
ipython2.3.1增强型 Python shell
ipython-sql0.3.4增强型 Python shell(在 IPython 中直接写 SQL)
spyder2.3.1科学 Python 开发环境:面向交互式计算与数据可视化的简单直观用户界面
pyzmq14.4.1基于 ZeroMQ 库的轻量超快消息传递(IPython Qt console 依赖)
tornado4.0.2可扩展的非阻塞 Web 服务器与工具(IPython notebook 依赖)
pyreadline2.0IPython 在 Windows 命令行窗口中显示彩色文本所需的模块
pywin32219面向 Windows 的 Python 库

3.5 GUI 与可视化框架

名称版本说明
PyQt44.10.4Qt 跨平台 GUI 工具包的 Python 绑定
PyQtdesignerplugins1.1为 PyQt4 安装 Python Qt designer 插件(Matplotlib、guiqwt 等)
PyQwt5.2.12D 绘图库(Qwt 库的 Python 绑定,支持快速绘图)
guidata1.6.2自动生成图形用户界面,轻松编辑与展示数据集
guiqwt2.3.2高效的曲线/图像绘图及其他科学数据处理软件开发的 GUI 工具
formlayout1.0.15无需编写任何 GUI 代码即可创建表单对话框/控件来编辑各类参数的模块
PyOpenGL3.1.0OpenGL 及相关 API 的跨平台 Python 绑定

3.6 文档、文件、Web 与序列化

名称版本说明
docutils0.12将纯文本文档处理为 HTML 或 LaTeX 等有用格式的文本处理系统(含 reStructuredText)
Sphinx1.2.3使用 reStructuredText 作为标记语言生成文档的工具
Pygments1.6通用语法高亮器,适用于各类软件
lxml3.4.0结合 libxml2/libxslt 与 ElementTree API 的强大而 Pythonic 的 XML 处理库
beautifulsoup44.3.2屏幕抓取(网页解析)库
Jinja22.7.3沙箱化模板引擎(提供类 Django 的非 XML 语法,将模板编译为可执行 Python 代码)
MarkupSafe0.23为 Python 实现 XML/HTML/XHTML 安全的标记字符串
PyYAML3.11YAML 解析与生成器
simplejson3.6.5简单、快速、可扩展的 JSON 编解码器
reportlab3.1.8PDF 生成库
requests2.4.3Apache2 许可的 HTTP 库,"给人类用的"
Pillow2.6.1Python 图像库(fork)

3.7 语言互操作与桥接

名称版本说明
rpy22.4.4R 语言的 Python 接口(内嵌 R)
oct2py2.4.0Python 到 GNU Octave 的桥接(从 Python 运行 .m 文件)
scilab2py0.5Python 到 Scilab 的桥接
julia0.1.1.5Julia 语言的 Python 接口

3.8 开发、构建与代码质量工具

名称版本说明
pip1.5.6安装与管理 Python 包的工具
setuptools5.8轻松下载、构建、安装、升级和卸载 Python 包
wheel0.24.0Python 的构建包格式(wheel)
cx_Freeze4.3.3将 Python 脚本转换为独立 Windows 可执行文件的部署工具(目标机器无需安装 Python 或任何其他库)
nose1.3.4基于发现的 unittest 扩展(如 NumPy 测试模块使用 nose)
pep81.5.7Python 风格指南检查器
pyflakes0.8.1Python 程序的被动检查器
pylint1.3.1Logilab 代码分析模块:分析 Python 源码,查找 bug 与质量不佳的迹象
astroid1.2.1从 Python 的 ast 重建新的抽象语法树(pylint 依赖)
logilab-common0.62.1Logilab 项目使用的底层 Python 包与模块集合(pylint 依赖)
rope_py3k-0.9.41Python 重构库
decorator3.4.0用装饰器让 Python 生活更美好
six1.8.0Python 2 与 3 兼容性工具
colorama0.3.2跨平台彩色终端文本
python-dateutil2.2标准 datetime 模块的强大扩展
pytz2014.7世界时区定义
psutil2.1.1以可移植方式获取所有运行进程与系统利用率(CPU、磁盘、内存、网络)信息的接口
networkx1.9.1创建与操作图与网络的 Python 包
pyparsing2.0.3Python 解析模块
pyserial2.7封装串口访问的库

3.9 发行版自身组件

名称版本说明
winpython1.0WinPython 发行版工具,包括 WPPM(包管理器)

winpython包是本清单中最特殊的一项:它不是第三方依赖,而是发行版自带的控制工具。现代仓库中该角色由wppm模块承担(见 wppm/wppm.py),负责列出已装包、从内置 WheelHouse 安装包、注册 WinPython 等操作;pip 仍是增删包的首选方式(见 README.rst)。

四、自 3.4.2.1 以来的变更(History 文档全录)

与清单文档配套的 changelogs/WinPython-3.4.2.2_History.md 记录了自上一版 3.4.2.1 以来的全部变化,它是判断该版本"新在哪里"的第一手依据。完整内容如下:

4.1 移除的工具

名称版本说明
TortoiseHg2.11.2Mercurial 分布式版本控制系统的图形工具集与 shell 扩展

这是 3.4.2.2 唯一被移除的组件——为压缩体积,发行版不再捆绑 Mercurial 客户端。可以推断,这一决策与 WinPython"便携、精简、聚焦科学计算"的定位一致:版本控制工具不再属于发行版的核心诉求。

4.2 新增的 Python 包

名称版本说明
baresql0.7.0直接在 Python 数据上玩转 SQL
db.py0.3.1一个"不烂的"db 包
oct2py2.4.0Python 到 GNU Octave 的桥接(从 Python 运行 .m 文件)

三个新包分别补强了**数据查询(baresql)、通用数据库访问(db.py)、科学计算语言互操作(oct2py)**三个方向。其中 oct2py 与既有 rpy2、scilab2py、julia 一起,构成了 3.4.x 时代 WinPython 完整的"多语言科学计算桥接矩阵"。

4.3 升级的 Python 包

名称版本变化说明
XlsxWriter0.5.9 → 0.6.2创建 Excel XLSX 文件的 Python 模块
ipython2.3.0 → 2.3.1增强型 Python shell
julia0.1.1.4 → 0.1.1.5Julia 语言的 Python 接口
mahotas1.2.1 → 1.2.3计算机视觉库
matplotlib1.4.1 → 1.4.22D 绘图库(可嵌入 PyQt 构建的 GUI 中)
numpy-MKL1.8.2 → 1.9.1NumPy:多维数组处理(SciPy 的核心模块)
pandas0.15.0 → 0.15.1面向数据分析、时间序列与统计的强大数据结构
pyzmq14.3.1 → 14.4.1基于 ZeroMQ 的轻量超快消息传递(IPython Qt console 依赖)
simplejson3.6.4 → 3.6.5简单、快速、可扩展的 JSON 编解码器
statsmodels0.6.0-rc1 → 0.6.0供 SciPy 使用的统计计算与模型

升级清单中最值得注意的是两条主线:

  • 科学计算核心全面换代:numpy-MKL 从 1.8.2 跨版本升至 1.9.1(连带 matplotlib、pandas、statsmodels 跟进),说明 3.4.2.2 是一次以 NumPy 1.9 为核心的"底层生态刷新";
  • 交互体验链路升级:ipython、pyzmq、pandas 同步升级,保证 IPython notebook/Qt console 与新版 pandas 数据结构的兼容性。

五、这份清单是怎么生成的?WPPM 工具链视角

changelogs/下的清单文档并非手写,而是可复现的构建产物——这正是本仓库源码能够直接佐证的地方。

5.1 清单的模板化生成(wppm -md)

在 wppm/wppm.py 中:

  • render_markdown_for_list()把一组(name, url, version, summary)渲染成标准 Markdown 表格,表头正是Name | Version | Description——与 changelogs/WinPython-3.4.2.2.md 中 Tools 和 Python packages 两个表格的格式完全一致;
  • generate_package_index_markdown()组装整页:首行## WinPython 3.4.2.2,接着是"The following packages are included in ..."引导句,再依次输出 Tools、Python packages 小节——与清单文档的骨架逐字对应;
  • 数据来源是get_package_index_data():通过pip list(get_installed_packages)获取已装包及其版本、描述,通过get_installed_tools获取工具列表,并从wheelhouse/included.wheels汇总内置 WheelHouse 包。

因此,你可以用以下命令为任意已安装的 WinPython/Python 发行版现场生成一份与 3.4.2.2 同构的清单:

wppm -md # 输出当前发行版的 Markdown 包清单 wppm -md -j # 输出 JSON 格式(机器可读) wppm -md -ws . # 连同内置 WheelHouse(.)一起对比输出 wppm -ls pand # 列出名称匹配 pand 的已装包 wppm -p pandas # 查看 pandas 的依赖树 wppm -r pytest! # 查看 pytest 的反向(约束方)依赖

(以上命令行参数均来自 wppm/wppm.py 的 argparse 帮助文本。)

5.2 版本间差异的可复现对比(wppm -diff)

History 文档所呈现的"移除/新增/升级"结构,同样对应 WPPM 的对比能力:

  • wppm/wppm.py 中,wppm -diff INDEX1 INDEX2直接调用diff.compare_files比较任意两份包索引;
  • wppm/diff.py 的compare_files按 Tools / Python packages 等小节逐段 diff(compare_markdown_sections),输出方向敏感:"每次升级都写作 old → new,方向拿反会把升级全部看成降级";
  • 源码注释明确指出索引文件就存放在本仓库的changelogs/目录中,"每个发行版、每个 flavor 一份,任意两份都可比较"(见 wppm/diff.py 对 changelog 文件名的解析逻辑)。

换言之,WinPython-3.4.2.2.md(清单)与WinPython-3.4.2.2_History.md(变更)互为"全量快照"与"增量 diff"的关系:前者是wppm -md的产物形态,后者近似wppm -diff 前一版清单 本版清单的产物形态。

六、发布校验:32/64 位安装包的 MD5 与 SHA-1

changelogs/md5_sha1.txt 为所有历史发行版二进制维护了校验和台账,其中 3.4.2.2 记录于WinPython 2014-11 release(2014-11-19)小节:

MD5SHA-1Binary
899e03cdf138d9761e56fd7b1cf779c1af135550f9b7d332e35760d18bab00c4a1d1959dwinpython-64bit-3.4.2.2.exe
99b794f5c885a320991ac76d6ec008b3bab62270381169f1779b36161ff2ff77196f9ecdwinpython-32bit-3.4.2.2.exe

下载安装包后,可用仓库根目录提供的 hash_launch.bat 或任意 MD5/SHA-1 工具校验文件完整性,确认与上表一致后再安装。同一小节还收录了同月发布的 3.3.5.3 与 2.7.8.3(2.7/3.3/3.4 三线并行的发布节奏一目了然)。

七、发布序列中的位置:与 3.4.2.3 的衔接

3.4.2.2 处于 WinPython 3.4.2.x 系列的中间位置。对照下一版清单 changelogs/WinPython-3.4.2.3.md,可以看到紧随其后的演进(均为仓库文档事实):

  • 工具:MinGW32 4.8.1 → 4.9.2;
  • 核心包继续刷新:pandas 0.15.1 → 0.15.2、PyQt4 4.10.4 → 4.11.3、pylint 1.3.1 → 1.4.0、astroid 1.2.1 → 1.3.2、lxml 3.4.0 → 3.4.1、requests 2.4.3 → 2.5.0、seaborn 0.4.0 → 0.5.1、rpy2 2.4.4 → 2.5.2、python-dateutil 2.2 → 2.3、Pygments 1.6 → 2.0.1、statsmodels 0.6.0 → 0.6.1、sympy 0.7.5 → 0.7.6 等;
  • 新增:PuLP(LP 建模与求解)、tqdm(进度条)。

这套"清单文档(快照)+ History 文档(增量)+ md5_sha1.txt(校验)"的组合贯穿整个 changelogs 目录,是回溯 WinPython 每个历史版本构成、追踪任何包版本演进的权威入口。

结语:如何用好这份清单

对使用者而言,changelogs/WinPython-3.4.2.2.md 是一份开箱即用的软件目录:安装 3.4.2.2 后即可直接import numpy、import pandas、import scipy,启动 Spyder 2.3.1 或 IPython 2.3.1 进行交互式科学计算,且全部包均可在离线环境下从发行版内置的 WheelHouse 安装。对研究者或包维护者而言,结合 wppm/wppm.py 的-md/-diff能力,你随时可以为任何已装发行版复刻出与官方清单格式完全一致的索引,并量化比较任意两个版本的包差异——这正是 WinPython"清单即产物、产物可复现"工具链设计的最佳注脚。

延伸阅读:README.rst(工具链总览)、changelogs/WinPython-3.4.2.2_History.md(版本增量)、changelogs/md5_sha1.txt(全量校验台账)、wppm/diff.py(索引 diff 实现)。

  • 开发工具
  • 构建工具
  • CLI
  • 包管理器

【免费下载链接】winpython

A free Python-distribution for Windows platform, including prebuilt packages for Scientific Python.

项目地址:https://gitcode.com/gh_mirrors/wi/winpython
点击查看免费下载

相关推荐

上一篇:Roc REPL 字符串值显示规则解析:从 repl_str_hide_type 快照看类型标注的隐藏机制
下一篇:opencodex 上游差距清单(chase Gap Inventory)深度解读:G1–G4 分类、三轴对比与源码印证

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询