Respuestas:
De la documentación del warnings
módulo :
#!/usr/bin/env python -W ignore::DeprecationWarning
Si estás en Windows: pasa -W ignore::DeprecationWarning
como argumento a Python. Sin embargo, es mejor resolver el problema enviando a int .
(Tenga en cuenta que en Python 3.2, las advertencias de desaprobación se ignoran de forma predeterminada).
export PYTHONWARNINGS="ignore::DeprecationWarning:simplejson"
para deshabilitar las advertencias de depuración de django json de sorl
Deberías arreglar tu código pero por si acaso,
import warnings
warnings.filterwarnings("ignore", category=DeprecationWarning)
warnings.filterwarnings("ignore", category=DeprecationWarning)
. Creo que debe ejecutar esto después de importar la biblioteca que escupe las advertencias, aunque podría estar equivocado.
from xgboost import XGBClassifier
. Tuve que poner warnings.filterwarnings("ignore", category=DeprecationWarning)
inmediatamente antes de esa importación para que funcione.
Tuve 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 otros DeprecationWarning
s, pero no los causados por:
import md5, sha
Encontré que la forma 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 la ruta a Python si la suya es diferente.
Ninguna de estas respuestas funcionó para mí, así que publicaré mi manera de resolver esto. Yo uso el siguiente at the beginning of my main.py
script y funciona bien.
Use lo siguiente tal como está (cópielo y péguelo):
def warn(*args, **kwargs):
pass
import warnings
warnings.warn = warn
Ejemplo:
import "blabla"
import "blabla"
def warn(*args, **kwargs):
pass
import warnings
warnings.warn = warn
# more code here...
# more code here...
ENV PYTHONWARNINGS="ignore::DeprecationWarning"
Convierta el argumento a int. Es tan simple como
int(argument)
Cuando quiera ignorar las advertencias solo en las 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
Pruebe el siguiente código si está utilizando Python3:
import sys
if not sys.warnoptions:
import warnings
warnings.simplefilter("ignore")
o prueba esto ...
import warnings
def fxn():
warnings.warn("deprecated", DeprecationWarning)
with warnings.catch_warnings():
warnings.simplefilter("ignore")
fxn()
o prueba esto ...
import warnings
warnings.filterwarnings("ignore")
Python 3
Simplemente escriba debajo de las líneas que sean fáciles de recordar antes de escribir su código:
import warnings
warnings.filterwarnings("ignore")
Para python 3, simplemente escriba los códigos a continuación para ignorar todas las advertencias.
from warnings import filterwarnings
filterwarnings("ignore")
No es para castigarlo, pero se le advierte que lo que está haciendo probablemente dejará de funcionar la próxima vez que actualice Python. Convierte a int y termina de una vez.
Por cierto. También puede escribir su propio controlador de advertencias. Simplemente asigne una función que no haga nada. ¿Cómo redirigir las advertencias de Python a una transmisión personalizada?
/usr/bin/env: python -W ignore::DeprecationWarning: No such file or directory
error. Funciona si ejecuto python con la-W ignore::DeprecationWarning
opción en la línea de comandos, pero / usr / bin / env no se ocupa de eso.