Respostas:
Da documentação do warnings
módulo :
#!/usr/bin/env python -W ignore::DeprecationWarning
Se você estiver no Windows: passe -W ignore::DeprecationWarning
como argumento para o Python. Melhor ainda resolver o problema, transmitindo para int .
(Observe que no Python 3.2, os avisos de descontinuação são ignorados por padrão.)
export PYTHONWARNINGS="ignore::DeprecationWarning:simplejson"
Para desativar django json deprication avisos de SORL
Você deve apenas corrigir seu código, mas por precaução,
import warnings
warnings.filterwarnings("ignore", category=DeprecationWarning)
warnings.filterwarnings("ignore", category=DeprecationWarning)
. Acho que você deve executar isso depois de importar a biblioteca que está emitindo os avisos, embora eu possa estar enganado.
from xgboost import XGBClassifier
. Eu tive que colocar warnings.filterwarnings("ignore", category=DeprecationWarning)
imediatamente antes dessa importação para que funcionasse.
Eu tive estes:
/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
Corrigido com:
import warnings
with warnings.catch_warnings():
warnings.filterwarnings("ignore",category=DeprecationWarning)
import md5, sha
yourcode()
Agora você ainda recebe todos os outros DeprecationWarning
s, mas não os causados por:
import md5, sha
Eu achei a maneira mais limpa de fazer isso (especialmente no Windows), adicionando o seguinte a C: \ Python26 \ Lib \ site-packages \ sitecustomize.py:
import warnings
warnings.filterwarnings("ignore", category=DeprecationWarning)
Note que eu tive que criar este arquivo. Obviamente, mude o caminho para python se o seu for diferente.
Nenhuma dessas respostas funcionou para mim, então postarei meu caminho para resolver isso. Eu uso o seguinte at the beginning of my main.py
script e funciona bem.
Use o seguinte como está (copie e cole):
def warn(*args, **kwargs):
pass
import warnings
warnings.warn = warn
Exemplo:
import "blabla"
import "blabla"
def warn(*args, **kwargs):
pass
import warnings
warnings.warn = warn
# more code here...
# more code here...
ENV PYTHONWARNINGS="ignore::DeprecationWarning"
Converta o argumento para int. É tão simples quanto
int(argument)
Quando você deseja ignorar avisos apenas em funções, você pode fazer o seguinte.
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
...
Basta adicionar o decorador @ignore_warnings na função que você deseja ignorar todos os avisos
Experimente o código abaixo se você estiver usando o Python3:
import sys
if not sys.warnoptions:
import warnings
warnings.simplefilter("ignore")
ou tente isso ...
import warnings
def fxn():
warnings.warn("deprecated", DeprecationWarning)
with warnings.catch_warnings():
warnings.simplefilter("ignore")
fxn()
ou tente isso ...
import warnings
warnings.filterwarnings("ignore")
Python 3
Basta escrever abaixo das linhas fáceis de lembrar antes de escrever seu código:
import warnings
warnings.filterwarnings("ignore")
Para python 3, basta escrever os códigos abaixo para ignorar todos os avisos.
from warnings import filterwarnings
filterwarnings("ignore")
Para não te incomodar com isso, mas você está sendo avisado de que o que você está fazendo provavelmente parará de funcionar na próxima atualização do python. Converta em int e termine com isso.
Entre. Você também pode escrever seu próprio manipulador de avisos. Apenas atribua uma função que não faz nada. Como redirecionar avisos de python para um fluxo personalizado?
/usr/bin/env: python -W ignore::DeprecationWarning: No such file or directory
erro. Funciona se eu executar o python com a-W ignore::DeprecationWarning
opção na linha de comando, mas / usr / bin / env não lida com isso.