2016-05-20 20 views
5

Geçenlerde benim makinelerde birinde Python'un Numpy paketi güncellenmiş ve görünüşe göre ben bir süredir a deprecated feature of numpy güvenerek oldum: Yukarıdaki linkte CommentersNumpy'nin DeprecationWarning'i neden göremiyorum?

>>> np.__version__ 
'1.10.4' 
>>> a = np.ones(10, dtype=np.uint16) 
>>> a /= 0.5 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
TypeError: ufunc 'true_divide' output (typecode 'd') could not be coerced to provided output parameter (typecode 'H') according to the casting rule ''same_kind'' 

Bir işaret:

Ben almadım, doğru olan ...)

;

Muhtemelen sonsuza beri deprecation uyarıları görmedik anlamına gelir.

Ama neden? Kullanımdan kaldırma uyarısını nasıl özledim? the documentation uyumlu

, bu aynı kod önceki numpy sürümünde farklı çalıştı:

>>> np.__version__ 
'1.9.2' 
>>> a = np.ones(10, dtype=np.uint16) 
>>> a /= 0.5 
>>> a 
array([2, 2, 2, 2, 2, 2, 2, 2, 2, 2], dtype=uint16) 

... ama değil bu tetikleyici bir uyarı gerekir? Ahlaksızlık kullanımlarının nasıl onaylandığını yanlış anlıyor muyum? diğer kullanım dışı uyarılarını kaçırmadığımdan nasıl emin olabilirim?

Benim piton ortamı:

Python 3.5.1 |Anaconda 4.0.0 (64-bit)| (default, Feb 16 2016, 09:49:46) [MSC v.1900 64 bit (AMD64)] on win32 
+1

bunlar varsayılan – wim

cevap

6

DeprecationWarnings ignored by default bulunmaktadır. Sen -Wd flag ile Python çalıştırarak onları da etkinleştirmeniz gerekir:

python -Wd my_source_file.py 

veya DeprecationWarning görmezden için bir geçersiz kılan yeni bir uyarı filtre şartname yükleyerek:

import warnings 

# Print any warning the first time a given source line issues them, 
# overriding built-in filters that ignore some warning types. 
warnings.filterwarnings("default") 
+0

tarafından göz ardı ediyoruz Tanrım, bilmek güzel. Eğitimimdeki büyük delik, tamir ettiğin için teşekkürler. – Andrew

+1

hey, bunun için çok teşekkürler. vahşi. btw "warnings.filterwarning" (çoğul) değil, "warnings.filterwarning" ifadesini kastettiğinizi düşünüyorum –

+0

@MaxPower: Whoops! Sabit. – user2357112

İlgili konular