Deprecation warning bei pycrypto unterdrücken

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
pug
User
Beiträge: 16
Registriert: Dienstag 4. September 2007, 17:00

Hallo zusammen,

ich nutze in einigen Projekten paramiko welches wiederum pycrypto nutzt.
Leider wurde pycrypto schon seit längerem nicht mehr aktualisiert, auch wenn seit einiger Zeit an einer neuen Version gearbeitet wird.

Aus diesem Grund bekomme ich beim Importieren von paramiko folgende Meldungen:

Code: Alles auswählen

>>> import paramiko
C:\python26\lib\site-packages\Crypto\Hash\SHA.py:6: DeprecationWarning: the sha module is deprecated; use the hashlib module instead  from sha import *
C:\python26\lib\site-packages\Crypto\Hash\MD5.py:6: DeprecationWarning: the md5 module is deprecated; use hashlib instead from md5 import *

Ich muss eine nicht modifizierte Version von pycrypto einsetzen sonst könnte man das vermutlich im code auf die hashlib umstellen.

Gibt es eine Möglichkeit die Meldungen beim Importieren zu unterdrücken?

Grüße
Pug
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

30sek Google, erster Treffer: http://puzzling.org/logs/thoughts/2009/ ... on-warning

Stefan
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Naja das beschaeftigt sich aber mit dem Aufruf. Um das programmatisch umzustellen gibt es das ``warnings`` Modul: http://docs.python.org/library/warnings.html
pug
User
Beiträge: 16
Registriert: Dienstag 4. September 2007, 17:00

Danke für die Antworten - hatte bei Google nix gefunden (zumindest nix vernünftiges)

Ich habe das jetzt wie folgt gelöst:

Code: Alles auswählen

import warnings

# supress warnings during paramiko import
with warnings.catch_warnings():
    warnings.simplefilter("ignore")
    import paramiko
Wollte eigentlich selektiver filtern, aber auf die schnelle hat das mit warnings.filterwarnings in dem Context nicht funktioniert.
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Ohne das ausprobiert zu haben .. wie waers wenn du es mit ``warnings.simplefilter("ignore", DeprecationWarning)``
Antworten