Estoy usando Paramiko en mi código python (para sftp). Todo funciona bien, excepto que cada vez que importo o llamo a una función de paramiko. Esta advertencia se presentaba:Cómo suprimir una advertencia de un tercero 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)
sé que esto tiene que ver con el hecho de que paramiko está utilizando algunas funcionalidades en desuso de PyCrypto.
Mi pregunta es, ¿hay alguna manera de suprimir esta advertencia programáticamente? He intentado esto:
warnings.filterwarnings(action='ignore', \
category=DeprecationWarning, module='paramiko')
e incluso esto:
warnings.filterwarnings(action='ignore', \
category=DeprecationWarning, module='randpool')
antes de 'importación paramiko' declaración y antes de las llamadas a funciones-paramiko específica, pero nada funciona. Esta advertencia sigue apareciendo sin importar qué. Si ayuda, aquí está el código de la biblioteca de terceros que imprime la advertencia:
en 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)
Si usted conoce a una forma de evitar esto, por favor ayúdame cierro esta advertencia fuera.
¿Cómo le modificar esto para filtrar la única advertencia OP particular, menciona? – VF1