Partage
  • Partager sur Facebook
  • Partager sur Twitter

Multi processing

    15 mai 2015 à 15:43:00

    Bonjour,

    je souhaite pour un projet d'école utiliser le module multiprocessing de python.

    Après m'être renseigné sur les cours d'internet, je me met à essayer de créer mon programme, et là je tombe sur plein d'erreurs.

    Le problème c'est que même quand je prends des exemples de la documentation python j'ai des erreurs :

    from multiprocessing import Process
    
    def f(name):
        print('hello', name)
    
    if __name__ == '__main__':
        p = Process(target=f, args=('bob',))
        p.start()
        p.join()


    erreurs :

    Traceback (most recent call last):

    File "<string>", line 1, in <module>

    File "C:\pyzo2014a\lib\multiprocessing\spawn.py", line 106, in spawn_main

    exitcode = _main(fd)

    File "C:\pyzo2014a\lib\multiprocessing\spawn.py", line 116, in _main

    self = pickle.load(from_parent)

    AttributeError: Can't get attribute 'f' on <module '__main__' (built-in)>



    Merci d'avance pour toutes réponses :)

    • Partager sur Facebook
    • Partager sur Twitter
      15 mai 2015 à 16:27:11

      Tu vas être récompensé d'avoir mis l'entièreté du Traceback. :)

      Donc d'après ce que je vois, tu utilises pyzo. Il s'agit d'un problème connu. Plus d'infos ici.

      Comment y remédier? Lance ton script depuis une console. Tu ouvres une console, navigue jusqu'à ton dossier C:\pyzo2014a\lib\multiprocessing et tu fais py spawn.py. Et voilà! :)

      • Partager sur Facebook
      • Partager sur Twitter
        16 mai 2015 à 16:36:29

        Merci pour ta réponse rapide,

        quand je lance le spawn, ça me met une erreur :

        Traceback <most recent call last>:

        File "spawn.py", line 17, in <module>

        from . import get_start_method, set_start_method

        sysstemError: Parent module '' not loaded, cannot perform relative import

        -
        Edité par BenoitTellis 17 mai 2015 à 10:31:01

        • Partager sur Facebook
        • Partager sur Twitter
          17 mai 2015 à 10:34:22

          Quand je lance mon programme dans l'invite de commande de windows ça me fait la même chose. Dans l'aide que tu m'as gentillement donné ils proposent d'installer pathos mais après mon installation aucun module (pool ou multiprocessing) ne se trouve dans pathos.

          Je suis désolé de vous embêter pour un problème qui apparemment semble courant mais python n'est pas ma tasse de thé et j'ai un peu de mal :(

          • Partager sur Facebook
          • Partager sur Twitter
            17 mai 2015 à 19:00:25

            Oublie Pathos. La seule chose à faire, c'est lancer ton script depuis l'invite de commande Windows. Et je parle bien d'une console, pas de l'interpréteur Python dans lequel tu colles ton code.

            • Partager sur Facebook
            • Partager sur Twitter
              20 mai 2015 à 13:39:04

              Tu avais raison, ça marche super bien.

              Merci beaucoup :)

              • Partager sur Facebook
              • Partager sur Twitter

              Multi processing

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown