Wie ignoriere ich die Warnungen in Python

Ich bekomme das immer:

DeprecationWarning: integer argument expected, got float 

Wie gehe ich diese Nachricht weg? Gibt es einen Weg, um Warnungen in Python zu vermeiden?

7 Solutions collect form web for “Wie ignoriere ich die Warnungen in Python”

Ich gegoogelt und gefunden :

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

Wenn du unter Windows bist: pass -W ignore::DeprecationWarning als Argument für Python.

(Aber das Problem zu lösen kann ein besseres Vorgehen sein … Casting zu int ist nicht schwer.)

Bearbeiten: Benutzer Shahensha wies darauf hin, dass die Link diese Antwort Original zeigte auf war gebrochen. Änderte den Link, um nur auf die Dokumentation zu verweisen. Beachten Sie, dass für die Version 2.7 und 3.2 Deprecation Warnungen standardmäßig ignoriert werden.

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 

Fixierte es mit:

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

Jetzt bekommst du noch alle anderen DeprecationWarning s, aber nicht die, die verursacht durch:

 import md5, sha 

Du solltest einfach deinen Code reparieren, aber nur für den Fall,

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

Ich fand den saubersten Weg, dies zu tun (vor allem auf Windows) ist, indem Sie die folgenden zu C: \ Python26 \ Lib \ site-packages \ sitecustomize.py:

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

Beachten Sie, dass ich diese Datei erstellen musste. Natürlich ändern Sie den Weg zu Python, wenn Ihr anders ist.

Bestehen Sie die richtigen Argumente? : P.

Auf der ernsteren Anmerkung können Sie das Argument -Wi :: DeprecationWarning auf der Kommandozeile an den Dolmetscher übergeben, um die Deprecation Warnungen zu ignorieren.

Konvertieren Sie das Argument in int. Es ist so einfach wie

 int(argument) 

Nicht zu schlagen Sie über es, aber Sie werden gewarnt, dass das, was Sie tun, wird wahrscheinlich aufhören zu arbeiten, wenn Sie nächste Upgrade-Python. Umwandeln Sie in int und werden damit fertig.

BTW Sie können auch Ihre eigenen Warnungen Handler schreiben. Gib einfach eine Funktion an, die nichts tut. Wie man Python-Warnungen auf einen benutzerdefinierten Stream umleitet?

Python ist die beste Programmiersprache der Welt.