IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Probleme de random


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Inscrit en
    Août 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 5
    Par défaut Probleme de random
    Bonjour à tous

    je me permet de soumettre le probleme suivant:

    >>> from Crypto.Util.randpool import RandomPool
    >>> rpool = RandomPool()

    Traceback (most recent call last):
    File "<pyshell#3>", line 1, in <module>
    rpool = RandomPool()
    File "C:\Python26\Lib\site-packages\Crypto\Util\randpool.py", line 57, in __init__
    from Crypto.Hash import SHA as hash
    File "C:\Python26\Lib\site-packages\Crypto\Hash\SHA.py", line 6, in <module>
    from sha import *
    File "C:\Python26\lib\sha.py", line 8, in <module>
    DeprecationWarning, 2)
    File "C:\Python26\lib\warnings.py", line 29, in _show_warning
    file.write(formatwarning(message, category, filename, lineno, line))
    TypeError: idle_formatwarning_subproc() takes exactly 4 arguments (5 given)

    J'ai installé la librairie pycrypto, tout fonctionne bien sauf ça et malheureusement je ne peut pas aller plus loin puisque la generation de clef RSA necessite cette fonction randompool.

    Quelqu'un a une idée ?

    Merci !

  2. #2
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    Je n'ai pas ce module mais selon la doc tu as besoin d'un nombre il me semble

    teste voir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    >>>rpool = RandomPool(500)

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 119
    Par défaut
    En suivant le message d'erreur, on s'apercoit que c'est un probleme de 1) deprecation (donc genere un warning) dans pycrypto et 2) de idle en version 2.6: dans son module run.py, il surcharge formatwarnings avec idle_formatwarning_subproc. Le problème est que dans la version 2.6 de warnings, cette fonction est appelée avec un 5eme argument (line).

    Solutions possibles:
    1) supprimer les warnings ton programme:
    warnings.simplefilter('ignore', DeprecationWarning)
    (je n'ai pas testé)
    2) Attendre que le bug soit corrigé (je viens de le soumettre) et attendre la version
    3) patcher idle/run.py pour ajouter un parametre optionnel line

  4. #4
    Membre à l'essai
    Inscrit en
    Août 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 5
    Par défaut
    Merci de vos premières reponses.

    J'ai déjà essayé de mettre des parametres dans randompool, j'ai essayé aussi ça:
    >>> RandomPool(numbytes = 160, cipher=None, hash=None)

    Traceback (most recent call last):
    File "<pyshell#5>", line 1, in <module>
    RandomPool(numbytes = 160, cipher=None, hash=None)
    File "C:\Python26\Lib\site-packages\Crypto\Util\randpool.py", line 57, in __init__
    from Crypto.Hash import SHA as hash
    File "C:\Python26\Lib\site-packages\Crypto\Hash\SHA.py", line 6, in <module>
    from sha import *
    File "C:\Python26\lib\sha.py", line 8, in <module>
    DeprecationWarning, 2)
    File "C:\Python26\lib\warnings.py", line 29, in _show_warning
    file.write(formatwarning(message, category, filename, lineno, line))
    TypeError: idle_formatwarning_subproc() takes exactly 4 arguments (5 given)

    entre autre j'ai essayé:
    import Crypto.Util.winrandom as winrandom
    il connait pas winrandom

    J'ai tenté de remplacer hash=None par hash=SHA apres un:
    from Crypto.Hash import SHA as hash
    Même TypeError que plus haut.

    Je n'ai pas compris comment supprimer les warnings, j'ai entré:
    warnings.simplefilter('ignore', DeprecationWarning)
    en ligne de commande et j'ai obtenu:
    NameError: name 'warnings' is not defined

  5. #5
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    As-tu tenté de mettre la ligne que je t'ai indiqué ci-dessus?

    Et me donner le résultat

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 119
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    import warnings
    warnings.simplefilter('ignore', DeprecationWarning)

  7. #7
    Membre à l'essai
    Inscrit en
    Août 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 5
    Par défaut
    à Fred1599:
    rpool = RandomPool(500) ?
    oui absolument, même erreur.

    Je precise quand même que tout fonctionne bien sous 2.5, c'est uniquement sous 2.6.

    Fructidor, je viens d'essayer ta solution, ça marche nickel.
    J'ai réessayé l'import Crypto... et le randompool, ça marche parfaitement.

    C'est juste une question de warnings donc.
    Merci beaucoup !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Probleme avec random!
    Par ryma87rh dans le forum C++Builder
    Réponses: 13
    Dernier message: 28/03/2009, 12h55
  2. Probleme Fonction Random
    Par GTJuanpablo dans le forum C#
    Réponses: 3
    Dernier message: 17/02/2007, 13h11
  3. Probleme de random
    Par Julien1987 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 24/01/2007, 23h11
  4. probleme avec random boolean
    Par petitenovice dans le forum Langage
    Réponses: 2
    Dernier message: 11/12/2006, 09h39
  5. [C#] Probleme de boucle for et random
    Par Freeman166 dans le forum Windows Forms
    Réponses: 7
    Dernier message: 09/01/2005, 14h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo