Antworten:
Aus der Dokumentation des warnings
Moduls :
#!/usr/bin/env python -W ignore::DeprecationWarning
Wenn Sie unter Windows arbeiten: Übergeben Sie -W ignore::DeprecationWarning
als Argument an Python. Besser, um das Problem zu lösen, indem Sie auf int umwandeln .
(Beachten Sie, dass in Python 3.2 Verfallswarnungen standardmäßig ignoriert werden.)
export PYTHONWARNINGS="ignore::DeprecationWarning:simplejson"
, um Django-Json-Deprication-Warnungen von sorl
Sie sollten nur Ihren Code reparieren, aber nur für den Fall,
import warnings
warnings.filterwarnings("ignore", category=DeprecationWarning)
warnings.filterwarnings("ignore", category=DeprecationWarning)
. Ich denke, Sie müssen dies ausführen, nachdem Sie die Bibliothek importiert haben, die die Warnungen ausspuckt, obwohl ich mich irren könnte.
from xgboost import XGBClassifier
. Ich musste warnings.filterwarnings("ignore", category=DeprecationWarning)
unmittelbar vor diesem Import setzen, damit es funktionierte.
Ich hatte diese:
/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
Es wurde behoben mit:
import warnings
with warnings.catch_warnings():
warnings.filterwarnings("ignore",category=DeprecationWarning)
import md5, sha
yourcode()
Jetzt bekommen Sie immer noch alle anderen DeprecationWarning
s, aber nicht die, die verursacht werden durch:
import md5, sha
Ich fand den saubersten Weg, dies zu tun (insbesondere unter Windows), indem ich Folgendes zu C hinzufügte: \ Python26 \ Lib \ site-packages \ sitecustomize.py:
import warnings
warnings.filterwarnings("ignore", category=DeprecationWarning)
Beachten Sie, dass ich diese Datei erstellen musste. Ändern Sie natürlich den Pfad zu Python, wenn Ihr Pfad anders ist.
Keine dieser Antworten hat bei mir funktioniert, daher werde ich meinen Weg zur Lösung dieses Problems veröffentlichen. Ich benutze das folgende at the beginning of my main.py
Skript und es funktioniert gut.
Verwenden Sie Folgendes wie es ist (kopieren und einfügen):
def warn(*args, **kwargs):
pass
import warnings
warnings.warn = warn
Beispiel:
import "blabla"
import "blabla"
def warn(*args, **kwargs):
pass
import warnings
warnings.warn = warn
# more code here...
# more code here...
Konvertieren Sie das Argument in int. Es ist so einfach wie
int(argument)
Wenn Sie Warnungen nur in Funktionen ignorieren möchten, können Sie Folgendes tun.
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
...
Fügen Sie einfach den Dekorator @ignore_warnings zu der Funktion hinzu, die Sie alle Warnungen ignorieren möchten
ENV PYTHONWARNINGS="ignore::DeprecationWarning"
Versuchen Sie den folgenden Code, wenn Sie Python3 verwenden:
import sys
if not sys.warnoptions:
import warnings
warnings.simplefilter("ignore")
oder versuchen Sie das ...
import warnings
def fxn():
warnings.warn("deprecated", DeprecationWarning)
with warnings.catch_warnings():
warnings.simplefilter("ignore")
fxn()
oder versuchen Sie das ...
import warnings
warnings.filterwarnings("ignore")
Python 3
Schreiben Sie einfach die folgenden Zeilen, die leicht zu merken sind, bevor Sie Ihren Code schreiben:
import warnings
warnings.filterwarnings("ignore")
Schreiben Sie für Python 3 einfach die folgenden Codes, um alle Warnungen zu ignorieren.
from warnings import filterwarnings
filterwarnings("ignore")
Um Sie nicht zu verprügeln, werden Sie jedoch gewarnt, dass das, was Sie tun, wahrscheinlich beim nächsten Upgrade von Python nicht mehr funktioniert. In int konvertieren und damit fertig sein.
Übrigens. Sie können auch Ihren eigenen Warnhandler schreiben. Weisen Sie einfach eine Funktion zu, die nichts bewirkt. Wie leite ich Python-Warnungen in einen benutzerdefinierten Stream um?
/usr/bin/env: python -W ignore::DeprecationWarning: No such file or directory
Fehlermeldung. Es funktioniert, wenn ich Python mit der-W ignore::DeprecationWarning
Option in der Befehlszeile ausführe , aber / usr / bin / env nicht damit umgeht.