Jawaban:
Dari dokumentasi warnings
modul :
#!/usr/bin/env python -W ignore::DeprecationWarning
Jika Anda menggunakan Windows: berikan -W ignore::DeprecationWarning
argumen ke Python. Lebih baik menyelesaikan masalah, dengan melakukan casting ke int .
(Perhatikan bahwa dalam Python 3.2, peringatan penghentian diabaikan secara default.)
export PYTHONWARNINGS="ignore::DeprecationWarning:simplejson"
untuk menonaktifkan peringatan deprication django json dari sorl
Anda hanya harus memperbaiki kode Anda tetapi untuk berjaga-jaga,
import warnings
warnings.filterwarnings("ignore", category=DeprecationWarning)
warnings.filterwarnings("ignore", category=DeprecationWarning)
. Saya pikir Anda harus menjalankan ini setelah Anda mengimpor perpustakaan yang memuntahkan peringatan, meskipun saya bisa salah.
from xgboost import XGBClassifier
. Saya harus meletakkan warnings.filterwarnings("ignore", category=DeprecationWarning)
sebelum impor itu agar berfungsi.
Saya punya ini:
/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
Memperbaikinya dengan:
import warnings
with warnings.catch_warnings():
warnings.filterwarnings("ignore",category=DeprecationWarning)
import md5, sha
yourcode()
Sekarang Anda masih mendapatkan semua yang lain DeprecationWarning
, tetapi bukan yang disebabkan oleh:
import md5, sha
Saya menemukan cara terbersih untuk melakukan ini (terutama di windows) adalah dengan menambahkan yang berikut ke C: \ Python26 \ Lib \ situs-paket \ sitecustomize.py:
import warnings
warnings.filterwarnings("ignore", category=DeprecationWarning)
Perhatikan bahwa saya harus membuat file ini. Tentu saja, ubah jalur ke python jika milik Anda berbeda.
Tidak satu pun dari jawaban ini yang berfungsi untuk saya sehingga saya akan memposting cara saya untuk menyelesaikan ini. Saya menggunakan at the beginning of my main.py
skrip berikut dan berfungsi dengan baik.
Gunakan yang berikut ini (copy-paste):
def warn(*args, **kwargs):
pass
import warnings
warnings.warn = warn
Contoh:
import "blabla"
import "blabla"
def warn(*args, **kwargs):
pass
import warnings
warnings.warn = warn
# more code here...
# more code here...
ENV PYTHONWARNINGS="ignore::DeprecationWarning"
Konversi argumen ke int. Sesederhana itu
int(argument)
Saat Anda ingin mengabaikan peringatan hanya dalam fungsi, Anda dapat melakukan hal berikut.
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
...
Cukup tambahkan dekorator @ignore_warnings pada fungsi yang ingin Anda abaikan semua peringatan
Coba kode di bawah ini jika Anda Menggunakan Python3:
import sys
if not sys.warnoptions:
import warnings
warnings.simplefilter("ignore")
atau coba ini ...
import warnings
def fxn():
warnings.warn("deprecated", DeprecationWarning)
with warnings.catch_warnings():
warnings.simplefilter("ignore")
fxn()
atau coba ini ...
import warnings
warnings.filterwarnings("ignore")
Python 3
Cukup tulis di bawah baris yang mudah diingat sebelum menulis kode Anda:
import warnings
warnings.filterwarnings("ignore")
Untuk python 3, cukup tulis kode di bawah ini untuk mengabaikan semua peringatan.
from warnings import filterwarnings
filterwarnings("ignore")
Bukan untuk mengalahkan Anda tentang hal itu tetapi Anda sedang diperingatkan bahwa apa yang Anda lakukan kemungkinan akan berhenti bekerja ketika Anda meng-upgrade python berikutnya. Konversikan ke int dan selesai dengannya.
BTW. Anda juga dapat menulis penangan peringatan Anda sendiri. Cukup tetapkan fungsi yang tidak melakukan apa pun. Bagaimana cara mengarahkan peringatan python ke aliran khusus?
/usr/bin/env: python -W ignore::DeprecationWarning: No such file or directory
kesalahan. Ini berfungsi jika saya menjalankan python dengan-W ignore::DeprecationWarning
opsi pada command-line, tetapi / usr / bin / env tidak menghadapinya.