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 遮罩陣列 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 recarrays 上的 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 中不再總是傳回遮罩陣列。
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 在 pip 安裝的 virtualenv 中的 numpy-1.10.1 中,f2py 測試失敗。
gh-6719 編譯 Cython 檔案時出錯:不允許在沒有 gil 的情況下進行 Pythonic 除法。
gh-6771 Numpy.rec.fromarrays 在版本 1.9.2 和 1.10.1 之間遺失 dtype metadata
gh-6781 maintenance/1.10.x 中的 travis-ci 指令碼需要修正。
gh-6807 1.10.2 的 Windows 測試錯誤
合併的 PR#
以下 PR 已合併到 1.10.2 中。當 PR 是回溯移植時,會列出針對 master 的原始 PR 編號。
gh-5773 MAINT:在使用 pytest 時隱藏測試 helper traceback。
gh-6094 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 而不是 3.5-dev。
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:提及就地運算的預設轉換已變更。
gh-6500 BUG:檢視為子陣列的 Recarrays 不會轉換為 np.record 類型。
gh-6501 REL:為建置的文件新增「make upload」命令,更新「make dist」。
gh-6526 BUG:修正 -OO 模式下 setup.py 中 __doc__ 的使用。
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 以始終傳回遮罩陣列。
gh-6668 BUG:ma.make_mask 應始終為 nomask 引數傳回 nomask。
gh-6686 BUG:修正在 assert_string_equal 中的錯誤。
gh-6695 BUG:修正移除建置期間建立的 tempdir 的問題。
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:metadata 未複製到 base_dtype。
gh-6783 BUG:修正新 google 基礎架構的 travis ci 測試。
gh-6785 BUG:interp 的快速且粗略的修復。
gh-6813 TST,BUG:使 test_mvoid_multidim_print 適用於 32 位元系統。
gh-6817 BUG:針對 npy_rint 停用 32 位元 msvc9 編譯器最佳化。
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 以修正空陣列的 split 行為。
寬鬆步幅檢查已還原。先前存在關於視圖更改多維 Fortran 陣列的 dtype 的回溯相容性問題,需要較長的時間來處理。
gh-6735 MAINT:使非寬鬆步幅檢查成為 1.10 的預設值。
注意事項#
Numpy 1.10.1 發行版本中的一個錯誤導致在依賴 Numpy 的專案中針對 RuntimeWarning
和 DeprecationWarning
引發例外。此問題已修正。