vertical una tamaño logaritmica linea grafico grafica fijar etiquetas escala ejes como cambiar ajustar python warnings deprecated ignore

una - Cómo ignorar las advertencias de depreciación en Python



fijar ejes matplotlib (9)

Sigo recibiendo esto:

DeprecationWarning: integer argument expected, got float

¿Cómo hago para que este mensaje desaparezca? ¿Hay alguna forma de evitar las advertencias en Python?


Convierte el argumento a int. Es tan simple como

int(argument)


Cuando desee ignorar advertencias solo en funciones, puede hacer lo siguiente.

import warnings from functools import wraps def ignore_warnings(f): @wraps(f) def inner(*args, **kwargs): with warnings.catch_warnings(record=True) as w: warnings.simplefilter("ignore") response = f(*args, **kwargs) return response return inner @ignore_warnings def foo(arg1, arg2): ... write your code here without warnings ... @ignore_warnings def foo2(arg1, arg2, arg3): ... write your code here without warnings ...

Simplemente agregue el decorador @ignore_warnings en la función que desea ignorar todas las advertencias


De la documentación del módulo de warnings :

#!/usr/bin/env python -W ignore::DeprecationWarning

Si está en Windows: pase -W ignore::DeprecationWarning como argumento para Python. Mejor aún para resolver el problema, mediante conversión a int .

(Tenga en cuenta que en Python 3.2, las advertencias de desactivación se ignoran por defecto).


Deberías simplemente arreglar tu código, pero por las dudas,

import warnings warnings.filterwarnings("ignore", category=DeprecationWarning)


Encontré que la manera más limpia de hacer esto (especialmente en Windows) es agregar lo siguiente a C: / Python26 / Lib / site-packages / sitecustomize.py:

import warnings warnings.filterwarnings("ignore", category=DeprecationWarning)

Tenga en cuenta que tuve que crear este archivo. Por supuesto, cambie el camino a Python si el suyo es diferente.


No le da una paliza, pero se le advierte que lo que está haciendo probablemente dejará de funcionar la próxima vez que actualice Python. Convierta a int y termine con esto.

Por cierto. También puede escribir su propio controlador de advertencias. Simplemente asigne una función que no hace nada. ¿Cómo redirigir las advertencias de Python a una secuencia personalizada?


Pasar los argumentos correctos? :PAG

En una nota más seria, puede pasar el argumento -Wi :: DeprecationWarning en la línea de comando al intérprete para ignorar las advertencias de desaprobación.


Tenía estos:

/home/eddyp/virtualenv/lib/python2.6/site-packages/Twisted-8.2.0-py2.6-linux-x86_64.egg/twisted/persisted/sob.py:12: DeprecationWarning: the md5 module is deprecated; use hashlib instead import os, md5, sys /home/eddyp/virtualenv/lib/python2.6/site-packages/Twisted-8.2.0-py2.6-linux-x86_64.egg/twisted/python/filepath.py:12: DeprecationWarning: the sha module is deprecated; use the hashlib module instead import sha

Solucionado con:

import warnings with warnings.catch_warnings(): warnings.filterwarnings("ignore",category=DeprecationWarning) import md5, sha yourcode()

Ahora todavía obtienes todos los demás DeprecationWarning , pero no los causados ​​por:

import md5, sha


Utilizo lo siguiente at the beginning of my main.py script at the beginning of my main.py y funciona bien:

def warn(*args, **kwargs): pass import warnings warnings.warn = warn import numpy as np import . . . . . . .