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 的项目在出现 RuntimeWarning 和 DeprecationWarning 时引发异常.这个问题已经修复.