Je voudrais ignorer les avertissements de tous les packages lorsque j'enseigne, mais scikit-learn semble contourner l'utilisation du package warnings
pour contrôler cela. Par exemple:
with warnings.catch_warnings():
warnings.simplefilter("ignore")
from sklearn import preprocessing
/usr/local/lib/python3.5/site-packages/sklearn/utils/fixes.py:66: DeprecationWarning: inspect.getargspec() is deprecated, use inspect.signature() instead
if 'order' in inspect.getargspec(np.copy)[0]:
/usr/local/lib/python3.5/site-packages/sklearn/utils/fixes.py:358: DeprecationWarning: inspect.getargspec() is deprecated, use inspect.signature() instead
if 'exist_ok' in inspect.getargspec(os.makedirs).args:
Est-ce que j'utilise ce module de manière incorrecte ou est-ce que Sklearn fait quelque chose que ce n'est pas censé faire?
Cela m'énerve à l'extrême que de m'apprendre force des avertissements .
J'ai commencé à utiliser ceci au sommet de main.py:
def warn(*args, **kwargs):
pass
import warnings
warnings.warn = warn
#... import sklearn stuff...
Ils ont changé leur politique d'alerte en 201 . Vous pouvez ignorer les avertissements (aussi des types spécifiques) avec quelque chose comme ceci:
import warnings
warnings.filterwarnings("ignore", category=DeprecationWarning)
// EDIT: dans les commentaires ci-dessous, Reed Richards souligne que the filterwarnings call needs to be in the file that calls the function that gives the warning.
J'espère que cela aidera ceux qui ont rencontré des problèmes avec cette solution.