NumPy 1.10.2 发布说明#

此版本解决了在 1.10.1 中出现的一些错误,并增加了各种构建和发布改进.

Numpy 1.10.1 支持 Python 2.6 - 2.7 和 3.2 - 3.5.

兼容性说明#

宽松的步幅检查不再是默认设置#

在涉及视图改变多维Fortran数组的dtype的向后兼容性问题上,需要在一个更长的时间框架内处理.

修复 numpy.i 中的 swig 错误#

宽松的步幅检查揭示了 array_is_fortran(a) 中的一个错误,该错误使用 PyArray_ISFORTRAN 来检查 Fortran 连续性,而不是 PyArray_IS_F_CONTIGUOUS.您可能希望使用更新的 numpy.i 重新生成 swigged 文件.

弃用在 fortran 顺序中改变维度的视图#

如果这会导致形状改变,则不建议将新描述符分配给非C连续数组的dtype属性.这实际上禁止使用改变第一个轴元素大小的dtype来查看多维Fortran数组.

弃用的原因是,当启用宽松步幅检查时,同时为C和Fortran连续的数组总是被视为C连续的,这破坏了一些依赖于两者对于ndim > 1的非标量数组互斥的代码.此次弃用为始终启用宽松步幅检查铺平了道路.

已修复的问题#

  • gh-6019 掩码数组表示失败于具有多维列的结构化数组.

  • gh-6462 空数组的中位数产生 IndexError.

  • gh-6467 记录数组访问的性能回归.

  • gh-6468 numpy.interp 在 x[0]==xp[0] 时仍使用 ‘left’ 值.

  • gh-6475 np.allclose 当其一个参数是 memmap 时返回一个 memmap.

  • gh-6491 在广播 stride_tricks 数组时出错.

  • gh-6495 在 gfortran 中未识别的命令行选项 ‘-ffpe-summary’.

  • gh-6497 recarrays 上的 reduce 操作失败.

  • gh-6498 在 1.10 版本发布说明中提及默认转换规则的更改.

  • gh-6530 分区函数在空输入时出错.

  • gh-6532 numpy.inner 有时返回错误的不准确值.

  • gh-6563 最近的 f2py 版本中 Intent(out) 损坏了.

  • gh-6569 在执行 ‘python setup.py build_ext -i’ 后无法运行测试

  • gh-6572 在广播 stride_tricks 数组组件时出错.

  • gh-6575 错误:分割产生具有错误维数空数组

  • gh-6590 numpy 1.10 中的 Fortran 数组问题

  • gh-6602 随机 __all__ 缺失选择和 dirichlet.

  • gh-6611 ma.dot 在 1.10 中不再总是返回一个掩码数组

  • gh-6618 numpy.i 中的 make_fortran() 中的 NPY_FORTRANORDER

  • gh-6636 numpy.recarray 中嵌套 dtypes 的内存泄漏

  • gh-6641 通过字段对 recarray 进行子集化会生成一个结构化数组.

  • gh-6667 ma.make_mask 错误地处理了 ma.nomask 输入.

  • gh-6675 在主分支和1.10版本中,优化的blas检测被破坏了.

  • gh-6678 从 X.dtype = complex(或 Y = X.view(complex)) 获取意外错误

  • gh-6718 f2py 测试在虚拟环境中通过 pip 安装的 numpy-1.10.1 中失败.

  • gh-6719 编译 Cython 文件时出错:没有 gil 不允许 Pythonic 除法.

  • gh-6771 Numpy.rec.fromarrays 在版本 1.9.2 和 1.10.1 之间丢失 dtype 元数据

  • gh-6781 维护/1.10.x 中的 travis-ci 脚本需要修复.

  • gh-6807 1.10.2 的 Windows 测试错误

合并的 PR#

以下 PR 已被合并到 1.10.2 中.当 PR 是回移时,会列出针对主分支的原始 PR 编号.

  • gh-5773 MAINT: 使用 pytest 时隐藏测试助手回溯.

  • gh-6094 BUG: 修复了掩码结构化数组字符串表示的一个错误.

  • gh-6208 MAINT: 通过移除不必要的安全检查来加速字段访问.

  • gh-6460 BUG: 用侵入性较小的程序替换 os.environ.clear.

  • gh-6470 BUG: 修复 numpy distutils 中的 AttributeError.

  • gh-6472 维护:在travis 3.5测试中使用Python 3.5而不是3.5-dev.

  • gh-6474 REL: 更新 Paver 脚本以支持 sdist 和自动切换测试警告.

  • gh-6478 错误:修复用于 OS X 构建的 Intel 编译器标志.

  • gh-6481 MAINT: 现在支持带有空格的 LIBPATH Python 2.7+ 和 Win32.

  • gh-6487 错误:允许在 f2py 中数组定义中嵌套使用参数.

  • gh-6488 BUG: 在 f2py 中扩展公共块而不是覆盖.

  • gh-6499 文档:提到就地操作的默认转换已经改变.

  • gh-6500 错误:将 Recarrays 视为子数组时不会转换为 np.record 类型.

  • gh-6501 REL: 为构建的文档添加”make upload”命令,更新”make dist”.

  • gh-6526 BUG: 修复在 setup.py 中使用 __doc__ 在 -OO 模式下的问题.

  • gh-6527 BUG: 修复在计算空数组的中位数时出现的 IndexError.

  • gh-6537 BUG: 使 ma.atleast_* 在标量参数下返回数组.

  • gh-6538 BUG: 修复 ma.masked_values 在请求时不缩小掩码的问题.

  • gh-6546 BUG: 修复非连续数组的内积回归问题.

  • gh-6553 BUG: 修复空输入时的 partition 和 argpartition 错误.

  • gh-6556 BUG: 在带有 as_strided 数组的 broadcast_arrays 中出现错误.

  • gh-6558 MAINT: 对”make upload”文档构建命令的小更新.

  • gh-6562 错误:在 recarray 中禁用视图安全检查.

  • gh-6567 BUG: 在 f2py 中恢复一些导入 * 修复.

  • gh-6574 文档:Numpy 1.10.2 发布说明.

  • gh-6577 BUG: 修复 #6569,允许 build_ext –inplace

  • gh-6579 MAINT: 修复文档上传规则中的错误.

  • gh-6596 BUG: 修复宽松步长检查的swig问题.

  • gh-6606 文档:更新 1.10.2 发布说明.

  • gh-6614 BUG: 将 choice 和 dirichlet 添加到 numpy.random.__all__ 中.

  • gh-6621 BUG: 修复 swig make_fortran 函数.

  • gh-6628 错误:使 allclose 返回 python 布尔值.

  • gh-6642 BUG: 修复 _convert_from_dict 中的内存泄漏.

  • gh-6643 ENH: 使 recarray.getitem 返回一个 recarray.

  • gh-6653 BUG: 修复 ma dot 以始终返回掩码数组.

  • gh-6668 错误:ma.make_mask 对于 nomask 参数应始终返回 nomask.

  • gh-6686 BUG: 修复 assert_string_equal 中的一个错误.

  • gh-6695 错误:修复在构建期间创建的临时目录的删除问题.

  • gh-6697 MAINT: 修复 PyArray_FROM_OT 宏定义中的多余分号.

  • gh-6698 TST: 测试大整数的 np.rint 错误.

  • gh-6717 错误:在Linux上重新添加CBLAS的回退检测.

  • gh-6721 错误:修复 #6719.

  • gh-6726 BUG: 修复由宽松步幅回滚暴露的错误.

  • gh-6757 BUG: 如果检测到 cblas,则链接 cblas 库.

  • gh-6756 TST: 仅测试 f2py,不测试 f2py2.7 等,修复 #6718.

  • gh-6747 DEP: 弃用通过 descr 更改非 C 连续数组形状

  • gh-6775 MAINT: 在一些缺少它的文件中包含 __future__ 样板代码.

  • gh-6780 错误:元数据未复制到 base_dtype.

  • gh-6783 错误:修复新的谷歌基础设施的travis ci测试.

  • gh-6785 错误:interp 的快速且粗糙的修复.

  • gh-6813 TST,BUG: 使 test_mvoid_multidim_print 在 32 位系统上工作.

  • gh-6817 BUG: 禁用 32 位 msvc9 编译器对 npy_rint 的优化.

  • gh-6819 TST: 修复在 Windows 上的 Python 2.x 中 test_mvoid_multidim_print 测试失败的问题.

对 mingwpy 的初始支持被回退了,因为它给非 Windows 构建带来了问题.

  • gh-6536 错误:恢复 gh-5614 以修复非 Windows 构建问题

对 np.lib.split 的修复被撤销了,因为它导致了将在 Numpy 1.11 中出现的”修复”行为,而这种行为在 Numpy 1.9 中已经存在.有关问题的讨论,请参见 gh-6575.

  • gh-6576 错误:恢复 gh-6376 以修复空数组的分割行为.

宽松的步幅检查已恢复.涉及视图更改多维Fortran数组dtype的向后兼容性问题需要在更长的时间框架内解决.

  • gh-6735 MAINT: 使没有宽松步幅检查成为1.10版本的默认设置.

备注#

Numpy 1.10.1 版本中的一个错误导致依赖 Numpy 的项目在出现 RuntimeWarningDeprecationWarning 时引发异常.这个问题已经修复.