ciśgle to:Jak ignorować ostrzeżenia amortyzację w Pythonie
DeprecationWarning: integer argument expected, got float
Jak zrobić tę wiadomość odejść? Czy istnieje sposób na uniknięcie ostrzeżeń w Pythonie?
ciśgle to:Jak ignorować ostrzeżenia amortyzację w Pythonie
DeprecationWarning: integer argument expected, got float
Jak zrobić tę wiadomość odejść? Czy istnieje sposób na uniknięcie ostrzeżeń w Pythonie?
Z dokumentacji warnings
module:
#!/usr/bin/env python -W ignore::DeprecationWarning
Jeśli jesteś na systemie Windows: pass -W ignore::DeprecationWarning
jako argument do Pythona. Lepiej jednak rozwiązać ten problem, przesyłając go pod numer int.
(Zauważ, że w Pythonie 3.2, ostrzeżenia amortyzacyjne są domyślnie ignorowany).
Podaj prawidłowe argumenty? : P
Co ważniejsze, możesz przekazać argumentowi -Wi :: DeprecationWarning z wiersza poleceń do interpretera, aby zignorować ostrzeżenia o wycofaniu.
Konwertuj argument na int. To tak proste, jak
int(argument)
Nie bić cię o tym, ale jesteś ostrzeżony, że to co robisz prawdopodobnie przestanie działać przy następnej aktualizacji Pythona. Konwertuj na int i skończ z tym.
BTW. Możesz również napisać swój własny program obsługi ostrzeżeń. Wystarczy przypisać funkcję, która nic nie robi. How to redirect python warnings to a custom stream?
Ta rada działa tylko wtedy, gdy jest to rzeczywiście jego własny kod, a nie z jakiejś innej paczki. –
Trzeba tylko rozwiązać swój kod, ale na wszelki wypadek,
import warnings
warnings.filterwarnings("ignore", category=DeprecationWarning)
Praca dla mnie za pomocą iPython – zbinsd
To nie działa dla mnie w ogóle, wciąż widzę objaśnienie. – user1244215
@ user1244215 Mogę się mylić, ale myślę, że ma znaczenie, gdzie w twoim kodzie uruchamiasz 'warnings.filterwarnings (" ignore ", category = DeprecationWarning)'. Myślę, że musisz to uruchomić po zaimportowaniu biblioteki, która wypluwa ostrzeżenia, chociaż mógłbym się mylić. –
miałem te:
/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
Naprawiono go:
import warnings
with warnings.catch_warnings():
warnings.filterwarnings("ignore",category=DeprecationWarning)
import md5, sha
yourcode()
Teraz jeszcze dostać wszystkie pozostałe DeprecationWarning
s, ale nie te spowodowane przez:
import md5, sha
Niesamowite, dziękuję bardzo !! (Zająłem się chwilą, aby zdać sobie sprawę, że mogę również zawinąć w to nieobsługiwane bity kodu, ponieważ niektóre pakiety generowały również DeprecationWarnings, gdy są używane po imporcie.) Bardzo dobry sposób na wyciszenie określonych ostrzeżeń o wycofaniu, które już obejrzałem i zdecydowałem Chcę zignorować. – weronika
znalazłem najczystszy sposób to zrobić (zwłaszcza na windows) jest przez dodanie następujących do katalogu C: \ Python26 \ Lib \ site-packages \ sitecustomize.py:
import warnings
warnings.filterwarnings("ignore", category=DeprecationWarning)
Należy pamiętać, że Musiałem stworzyć ten plik. Oczywiście, zmień ścieżkę do pythona, jeśli twoja jest inna.
Jeśli chcesz zignorować ostrzeżenia tylko w funkcjach, możesz wykonać następujące czynności.
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
...
Wystarczy dodać dekorator @ignore_warnings na funkcję, którą chcesz ignorować wszystkie ostrzeżenia
odlewania pracuje zbyt .. ale flaga był pomocny! – Mohammed
Chciałbym móc to wykonać ... Otrzymuję '/ usr/bin/env: python -W ignore :: DeprecationWarning: Brak takiego błędu w pliku lub katalogu. Działa, jeśli uruchomię pythona z opcją '-W ignore :: DeprecationWarning' w wierszu poleceń, ale/usr/bin/env nie zajmuje się tym. – weronika
Wydaje się być rozwiązaniem tylko dla systemu Windows. –