Ich erhalte diese ignorieren:Wie deprecation Warnungen in Python
DeprecationWarning: integer argument expected, got float
Wie kann ich diese Meldung weggehen? Gibt es eine Möglichkeit, Warnungen in Python zu vermeiden?
Ich erhalte diese ignorieren:Wie deprecation Warnungen in Python
DeprecationWarning: integer argument expected, got float
Wie kann ich diese Meldung weggehen? Gibt es eine Möglichkeit, Warnungen in Python zu vermeiden?
Aus Dokumentation der warnings
module:
#!/usr/bin/env python -W ignore::DeprecationWarning
Wenn Sie unter Windows sind: pass -W ignore::DeprecationWarning
als Argument für Python. Besser, um das Problem zu lösen, indem Sie auf int werfen.
(Beachten Sie, dass in Python 3.2, deprecation Warnungen standardmäßig ignoriert werden.)
Übergeben Sie die richtigen Argumente? : P
Im Ernstfall können Sie das Argument -Wi :: DeprecationWarning in der Befehlszeile an den Interpreter übergeben, um die Verwarnungen zu ignorieren.
Konvertieren Sie das Argument in int. Es ist so einfach wie
int(argument)
Nicht Sie es zu schlagen, aber sie gewarnt werden, dass, was Sie tun wahrscheinlich wird nicht mehr funktionieren, wenn Sie das nächste Upgrade Python. In int konvertieren und damit fertig sein.
BTW. Sie können auch einen eigenen Warnungshandler schreiben. Ordnen Sie einfach eine Funktion zu, die nichts tut. How to redirect python warnings to a custom stream?
Dieser Ratschlag funktioniert nur, wenn es in der Tat sein eigener Code ist und nicht aus irgendeinem Paket von Drittanbietern. –
Sie sollten nur den Code beheben, aber nur für den Fall,
import warnings
warnings.filterwarnings("ignore", category=DeprecationWarning)
Arbeitete für mich mit iPython – zbinsd
Dies funktioniert bei mir überhaupt nicht, immer noch ablehnen Warnungen. – user1244215
@ user1244215 Ich könnte falsch liegen, aber ich denke, es spielt eine Rolle, wo Sie in Ihrem Code 'warnards.filterwarnings (" ignore ", category = DeprecationWarning)' ausführen. Ich denke, Sie müssen das ausführen, nachdem Sie die Bibliothek importiert haben, die die Warnungen ausspuckt, obwohl ich mich irren könnte. –
ich diese hatte:
/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 Feste mit:
import warnings
with warnings.catch_warnings():
warnings.filterwarnings("ignore",category=DeprecationWarning)
import md5, sha
yourcode()
Jetzt noch Sie erhalten alle anderen DeprecationWarning
s, aber nicht die verursacht durch:
import md5, sha
Super, vielen Dank !! (Ich brauchte einen Moment, um zu erkennen, dass ich auch nicht importierte Code-Bits einpacken konnte, da einige Pakete auch DeprecationWarnings erzeugten, wenn sie nach dem Import verwendet wurden.) Sehr nette Möglichkeit, nur bestimmte DeprecationWarnings zum Schweigen zu bringen, die ich bereits betrachtet und entschieden habe Ich möchte es ignorieren. – weronika
fand ich die sauberste Weg, dies zu tun (vor allem an den Fenstern) ist durch die folgende C und fügte hinzu: \ Python26 \ Lib \ site-packages \ sitecustomize.py:
import warnings
warnings.filterwarnings("ignore", category=DeprecationWarning)
Beachten Sie, dass Ich musste diese Datei erstellen. Ändern Sie natürlich den Pfad zu Python, wenn Sie anders sind.
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 @ignore_warnings Dekorateur auf die Funktion, die Sie alle Warnungen
Casting funktioniert auch ignorieren wollen .. aber die Fahne war hilfreich! – Mohammed
Ich wünschte, ich könnte das schaffen ... Ich bekomme einen '/ usr/bin/env: python -W ignorieren :: DeprecationWarning: Keine solche Datei oder Verzeichnis" Fehler. Es funktioniert, wenn ich Python mit der Option "-W Ignore :: DeprecationWarning" in der Befehlszeile ausführen, aber/usr/bin/env nicht damit umgehen. – weronika
Scheint eine reine Windows-Lösung zu sein. –