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 Masked array repr 对具有多维列的结构化数组失败.

  • 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 recarray 上的 reduce 操作失败.

  • gh-6498 在 1.10 发行说明中提及默认类型转换规则的更改.

  • gh-6530 partition 函数在空输入上出错.

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

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

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

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

  • gh-6575 BUG: Split 产生具有错误维数的空数组

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

  • gh-6602 Random __all__ 缺少 choice 和 dirichlet.

  • gh-6611 ma.dot 在 1.10 中不再总是返回 masked array.

  • 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 优化后的 blas 检测在 master 和 1.10 中已损坏.

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

  • gh-6718 f2py 测试在 pip 安装的 virtualenv 中的 numpy-1.10.1 中失败.

  • gh-6719 编译 Cython 文件时出错:不允许在没有 gil 的情况下进行 Python 式除法.

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

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

  • gh-6807 1.10.2 的 Windows 测试错误

已合并的 PR#

以下 PR 已合并到 1.10.2 中. 当 PR 是一个反向移植时,列出了针对 master 的原始 PR 的 PR 号.

  • gh-5773 MAINT: 在使用 pytest 时隐藏测试助手跟踪记录.

  • gh-6094 BUG: 修复了屏蔽结构化数组的字符串表示中的一个 bug.

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

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

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

  • gh-6472 MAINT: 将 travis 3.5 测试的 Python 版本从 3.5-dev 改为 3.5.

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

  • gh-6478 BUG: 修复 OS X 构建的 Intel 编译器标志.

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

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

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

  • gh-6499 DOC: 提及 inplace 操作的默认类型转换已更改.

  • gh-6500 BUG: 查看为子数组的 Recarray 不会转换为 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: broadcast_arrays 中带有 as_strided 数组的错误.

  • gh-6558 MAINT: 对"make upload"文档构建命令的次要更新.

  • gh-6562 BUG:禁用 recarray 中的视图安全检查.

  • gh-6567 BUG:还原 f2py 中的一些 import * 修复.

  • gh-6574 DOC:Numpy 1.10.2 的发行说明.

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

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

  • gh-6596 BUG:修复 swig 以进行宽松的步幅检查.

  • gh-6606 DOC:更新 1.10.2 发行说明.

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

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

  • gh-6628 BUG:使 allclose 返回 python bool.

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

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

  • gh-6653 BUG:修复 ma dot 以始终返回 masked array.

  • gh-6668 BUG:ma.make_mask 应该始终为 nomask 参数返回 nomask.

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

  • gh-6695 BUG:修复删除构建期间创建的临时目录.

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

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

  • gh-6717 BUG:重新添加 linux 上的回退 CBLAS 检测.

  • gh-6721 BUG:修复 #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 BUG:元数据未复制到 base_dtype.

  • gh-6783 BUG:修复 travis ci 测试以适应新的 google 基础设施.

  • gh-6785 BUG:针对 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 BUG:还原 gh-5614 以修复非 Windows 构建问题

针对 np.lib.split 的修复已被还原,因为它导致"修复"了 Numpy 1.11 中将存在且 Numpy 1.9 中已经存在的行为.有关澄清,请参阅 gh-6575 中对该问题的讨论.

  • gh-6576 BUG:还原 gh-6376 以修复空数组的拆分行为.

宽松步幅检查已被还原.存在涉及视图更改多维 Fortran 数组的 dtype 的向后兼容性问题,需要更长时间才能解决.

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

Notes#

NumPy 1.10.1 版本中的一个错误导致在依赖于 Numpy 的项目中为 RuntimeWarningDeprecationWarning 引发异常.这已得到修复.