Forum Programmation.python Module "processing" introuvable

Posté par  . Licence CC By‑SA.
Étiquettes :
2
19
jan.
2023

Bonjour,
mon fils m'a posé une colle hier soir et j'avoue que je ne sais pas comment le dépanner, surtout que mes connaissances en python sont très limitées.

Il s'agit de suivre ce projet: https://projects.raspberrypi.org/fr-FR/projects/rocket-launch

Le code du projet est disponible ici: raspberrypilearning et il y a un environnement d'exécution web ici: https://trinket.io/python/f2199f5a8c

Le fiston travaille sur un ordinateur avec lubuntu et exécute ses programmes directement dans l'éditeur de code geany (qui peut lancer des programmes python depuis son interface).

À l’exécution, j'ai un beau

Traceback (most recent call last):
  File "main.py", line 4, in <module>
    from p5 import *
  File "/home/pol/data/downloads/Rocket Launch/p5.py", line 2, in <module>
    from processing import *
ModuleNotFoundError: No module named 'processing'

Et ce module processing, je ne vois définitivement pas à quoi il peut bien faire référence. Il y a bien un module de ce nom dans pip, mais c'est in vieux machin qui n'a pas bougé depuis 10ans et qui semble sans rapport avec le sujet.
J'ai essayé d'installer "la vraie" dépendance p5 (pip install p5) à la place du fichier fourni, mais ça ne fonctionne pas non plus.
Ce programme fonctionne dans l'environnement web trinket, aussi je me dis que processing est forcément un module installable comme dépendance, ce n'est pas un fichier du projet.

Mais malgré avoir passé un peu de temps à chercher, j'avoue je bloque. Est ce que quelqu'un aurait une piste, ou autre?
Merci!

  • # pip install processing-py ?

    Posté par  . Évalué à 1. Dernière modification le 19 janvier 2023 à 17:25.

    Salut,

    processing n'existe pas dans les builtins. Seulement subprocess ou multiprocessing. C'est donc une librairie tierce. Il existe processing qui a l'air d'être une lib graphique et de s'interfacer via import processing.

    • [^] # Re: pip install processing-py ?

      Posté par  . Évalué à 1.

      Merci, mais je n'ai pas compris la fin de ta phrase " et de s'interfacer via import processing". Que veux tu dire?

      Bon, de dépit j'ai remplacé toutes les références de processing par processing_py mais ça ne semble pas être ça: il ne trouve pas les fonctions auxquelles il s'attend:
      ImportError: cannot import name 'rectMode' from 'processing_py'

      Du coup, pas sûr que ce soit le bon module. Il me reste la question qui tue: pourquoi est ce que ce programme s'exécute correctement dans sa version web? À un moment je me suis dit que c'était du python 2, mais le début du fichier dit bien que c'est du python3…
      Bref, je suis perplexe. C'est pas un problème de code mais d'environnement j'ai l'impression…

      • [^] # Re: pip install processing-py ?

        Posté par  . Évalué à 1.

        ah, pardon, j'avais pas vu que son "namespace" était processing_py . Du coup, t'as raison, c'est pas celle-là.

        Peut-être celle-là ? processing

        • [^] # Re: pip install processing-py ?

          Posté par  . Évalué à 1.

          oui j'ai vu cette page hier, qui du coup m'emmenait là: https://processing.org/download
          Il était tard, j'ai laissé les choses là en ne comprenant pas pourquoi je devais installer des trucs en plus pour un simple "programme en python".
          Bon, je vais réessayer ce soir!

          • [^] # Re: pip install processing-py ?

            Posté par  . Évalué à 3. Dernière modification le 20 janvier 2023 à 07:48.

            Il existe quantité de versions de progressing (certains sont plus ou moins abandonnés), la plus active actuellement est p5.js qui comme son nom l'indique est pour JavaScript.

            À mon avis ce que tu cherches est ce portage vers python :

            https://github.com/p5py/p5

            Processing.py semble être un autre dérivé, mais je pense que ce n'est pas ce que tu cherches.

            « Le pouvoir des Tripodes dépendait de la résignation des hommes à l'esclavage. » -- John Christopher

            • [^] # Re: pip install processing-py ?

              Posté par  . Évalué à 2.

              Oui, sauf que le projet rocket launcher "redéfinit" p5 car il y a un script p5.py qui vient surcharger ce que je pourrais installer avec un pip intall p5
              J'avais d'ailleurs essayer avec la lib que tu pointes, mais du coup certaines fonctions définit uniquement dans la "surcharge" locale p5.py ne fonctionnait plus (logique).

              Et hier soir j'ai essayé d'installer le "processing" dont je parlais dans mon précédent message, ça n'a rien donné.

              C'est quand même très dommage pour un projet d'apprentissage de ne pas pouvoir le refaire chez soi… mais j'abandonne ici. Ce code est bancal, il y a pleins d'autres trucs sympa à faire pour apprendre pyhon.

              Merci à tous!

  • # pip2 et pip3

    Posté par  (Mastodon) . Évalué à 4.

    Attention parfois, tu tapes "pip install" il va t'installer le module pour Python2, et ton script exécutant Python3 ne va pas le prendre.

    Donc bien faire attention à la cohérence des version de Python.

    En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

    • [^] # Re: pip2 et pip3

      Posté par  . Évalué à 1.

      oui je m'en suis aperçu. J'ai même trouvé ça très étrange que pip essaie de m'installer un module pas compatible python3 alors que je n'ai QUE python3 d'installé.
      Mais je n'ai pas cherché plus.

      • [^] # Re: pip2 et pip3

        Posté par  (Mastodon) . Évalué à 3.

        donc tu fais du pip3 install dans tes essais ?

        En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

        • [^] # Re: pip2 et pip3

          Posté par  . Évalué à 1.

          Je me sens con… non je fais pip install xxxx

          • [^] # Re: pip2 et pip3

            Posté par  . Évalué à 1. Dernière modification le 22 janvier 2023 à 19:04.

            Bon un pip3 install processing essaie de me télécharger le même module que pip tout court (un module déprécié qui na rien à voir avec l'objet du projet) donc pas de bonne surprise.
            J'aurais au moins appris ça!

            • [^] # Re: pip2 et pip3

              Posté par  (site web personnel) . Évalué à 2.

              Y'a bien un paquet processing-py (en cherchant processing sur PyPI) qui lui semble correspondre à ce que tu cherches - notes bien le nom complet du paquet.

              La bonne façon de faire…

              0) Si tu commences à jouer avec pip, autant que possible travailler avec un environnement Python (conda , virtualenv…). Suivant l'OS ça peut nécessiter d'installer des paquets (ex sous mon Ubuntu: python3.10-venv, et pour pip: python3-pip).

              Sur ma machine, pour avoir un environnement virtuel dans un répertoire particulier ~/provisoire/testvenv, je peux faire:

              laurent@litchi:~$ python3 -m venv ~/provisoire/testvenv

              1) Appeler pip à partir du Python qui sera actif lorsque tu utiliseras le module.

              laurent@litchi:~$ ~/provisoire/testvenv/bin/python3 -m pip install processing-py

              2) On peut bosser avec (j'ai repris l'exemple drawing sur la page PyPI de processing-py), toujours en utilisant le Python de l'environnement virtuel:

              laurent@litchi:~$ cd provisoire/testvenv
              laurent@litchi:~/provisoire/testvenv$ vim testp.py
              laurent@litchi:~/provisoire/testvenv$ bin/python3 testp.py 
              Downloading Processing.py & Java Runtime Environment 8u202 ... (~120MB)
              [################################] 134830/134830 - 00:00:02
              Extracting file ...
              Starting App...
              >> [Jython] Created!
              

              Et là ça affiche ce qui est demandé. Bon, c'est globalement usine à gaz, mais ça fonctionne.

              Votez les 30 juin et 7 juillet, en connaissance de cause. http://www.pointal.net/VotesDeputesRN

              • [^] # Re: pip2 et pip3

                Posté par  (Mastodon) . Évalué à 4.

                Si tu fais . ~/provisoire/testvenv/bin/activate après ton python3 -m venv tu n'as plus besoin de spécifier le chemin, c'est devenu ton PATH.

                En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

  • # Commentaire supprimé

    Posté par  . Évalué à 1. Dernière modification le 31 janvier 2023 à 07:56.

    Ce commentaire a été supprimé par l’équipe de modération.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.