Sto usando Paramiko nel mio codice Python (per sftp). Tutto funziona bene, tranne che ogni volta che importare o chiamare una funzione paramiko. Questo avviso si presentava:Come sopprimere un avviso di terze parti usando warnings.filterwarnings
C:\Python26\lib\site-packages\Crypto\Util\randpool.py:40: RandomPool_Deprecation
Warning: This application uses RandomPool, which is BROKEN in older releases. S
ee http://www.pycrypto.org/randpool-broken
RandomPool_DeprecationWarning)
So che questo ha a che fare con il fatto che paramiko sta usando alcune funzionalità obsolete di pycrypto.
La mia domanda è, c'è un modo per sopprimere questo avviso a livello di codice? Ho provato questo:
warnings.filterwarnings(action='ignore', \
category=DeprecationWarning, module='paramiko')
e anche questo:
warnings.filterwarnings(action='ignore', \
category=DeprecationWarning, module='randpool')
prima 'importazione paramiko' dichiarazione e prima di chiamate di funzione specifica per paramiko, ma non funziona niente. Questo avviso continua a comparire indipendentemente da cosa. Se aiuta, ecco il codice nella libreria di terze parti che stampa l'avvertimento:
in randpool.py:
from Crypto.pct_warnings import RandomPool_DeprecationWarning
import Crypto.Random
import warnings
class RandomPool:
"""Deprecated. Use Random.new() instead.
See http://www.pycrypto.org/randpool-broken
"""
def __init__(self, numbytes = 160, cipher=None, hash=None, file=None):
warnings.warn("This application uses RandomPool, which is BROKEN in older releases. See http://www.pycrypto.org/randpool-broken",
RandomPool_DeprecationWarning)
Se conoscete un modo per aggirare questo, si prega di aiutarmi a chiudere questo avvertimento off.
Come ti modificare questo solo filtrare particolare OP avvertimento menziona? – VF1