Partage
  • Partager sur Facebook
  • Partager sur Twitter

py3 vers py2

Sujet résolu
    21 mars 2015 à 16:20:58

    Bonjour,

    Dans le but de mettre un petit jeu sur androïde, il faut que je convertisse mon script py3 vers un script py2 pour par la suite se servir de pygame et de pgs4a ( une bibliothèque python 2)  pour créer l'application.

    Le problème c'est que cela marche uniquement sur python 2 et que je n'ai pas trouvé d'autre moyen pour le remplacer et l'étape qui bloque ( pour le moment )  donc est la conversion py3 vers py2.

    J'ai récemment trouvé une bibliothèque du nom de 3to2 qui saurait le faire, le problème est que tout la documentation est en anglais et qu'avec ma médiocre compréhension de cette langue je n'ai absolument rien compris.

    Si quelqu'un pourrait m'expliquer, notamment ce qui est dit sur cette page.

    Merci d'avance ! Et si vous avez des conseils concernant la mise d'un script python3/pygame sur androïde n’hésitez pas !

    -
    Edité par ArtemisPlayer 21 mars 2015 à 16:21:38

    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      21 mars 2015 à 20:57:58

      J'ai rapidement regardé ta page, ça n'a pas l'air trop compliqué à comprendre. Tu devrais facilement pouvoir comprendre le sens global des textes à l'aide d'un traducteur. Bon courage ! ;)
      • Partager sur Facebook
      • Partager sur Twitter
        21 mars 2015 à 23:42:01

        Après une étude plus ou moins minutieuse de la page avec un traducteur , j'ai déduis qu'il fallait faire exécuter cette ligne de commande : pasteurize -w mypy3module.py ( google trad. : Courir pasteuriser mypy3module.py -w transforme ce code Python 3 )

        mais je ne sais pas où l'exécuter et cela ne marche pas dans une console python ou cmd

        ( dsl pour la police je ne sais pas comment la changer )

        en gros ma question est : ou éxecuter cette commande ?

        et aussi si quelqu'un sait comment enlever cette fichue police je veux bien ;)

        -
        Edité par ArtemisPlayer 21 mars 2015 à 23:44:11

        • Partager sur Facebook
        • Partager sur Twitter
          22 mars 2015 à 9:49:55

          Il faut exécuter cette commande dans le dossier qui contient le fichier Python à convertir.

          pasteurize -w mypy3module.py

          Je suppose que tu as installé "future" auparavant : pip install future

          • Partager sur Facebook
          • Partager sur Twitter
            22 mars 2015 à 10:20:29

            Non je ne l'ai pas installé mais je suis sous windows donc les commandes ...
            • Partager sur Facebook
            • Partager sur Twitter
              22 mars 2015 à 10:22:25

              Mais il n'est par default dans py6hon car quand je fais import __future__ cela ne me renvoit pas d'erreurs
              • Partager sur Facebook
              • Partager sur Twitter
                22 mars 2015 à 12:40:19

                J'ai installé Pasteurize sous Windows avec Python 3.

                Le programme pasteurize.exe n'est pas installé par défaut avec Python sous Windows.

                • Partager sur Facebook
                • Partager sur Twitter
                  22 mars 2015 à 12:45:21

                  C'est un peu marcher sur la tête, comme principe, de revenir à Python 2.

                  Pour faire un jeu compatible Android, Kivy est de très loin la meilleure solution.

                  • compatible avec Python 3,
                  • utilise OpenGL (y compris OpenGL-ES sur les terminaux Android),
                  • peut se déployer sur une tétrachiée d'OS différents (Windows/Linux/MacOS/iOS/Android...),
                  • gère nativement les interfaces tactiles et le multi-touch,
                  • et en plus le déploiement est expliqué pas à pas sur leur doc.

                  En ce qui me concerne à l'heure actuelle, j'estime que Kivy est l'avenir du développement de jeux multiplateformes en Python, là où Pygame est un framework legacy qui ne passera sûrement jamais tout à fait le cap des smartphones et tablettes tactiles.

                  • Partager sur Facebook
                  • Partager sur Twitter
                  Zeste de Savoir, le site qui en a dans le citron !
                    22 mars 2015 à 13:04:29

                    Oui mais est il compatible avec pygame ?
                    • Partager sur Facebook
                    • Partager sur Twitter
                      22 mars 2015 à 15:58:38

                      Il remplace Pygame.

                      • Partager sur Facebook
                      • Partager sur Twitter
                      Zeste de Savoir, le site qui en a dans le citron !
                        22 mars 2015 à 16:16:59

                        je vais essayer de "traduire" mon code, mais vous connaissez un tutoriel en français et complet sur kivy ?
                        • Partager sur Facebook
                        • Partager sur Twitter
                          22 mars 2015 à 16:56:46

                          Bon j'ai essayer plein de méthode mais aucune ne marche, en gros si mes connaissance sont juste on peut obtenir du code python compilé (fichier .pyc ) et il n'y a pas moyens de les faire tourner sur androïde ?
                          • Partager sur Facebook
                          • Partager sur Twitter
                            22 mars 2015 à 19:51:53

                            Le bytecode Python aura de toute manière besoin d'un interpréteur qui soit strictement dans la même version que celui qui l'a généré.

                            • Partager sur Facebook
                            • Partager sur Twitter
                            Zeste de Savoir, le site qui en a dans le citron !
                              22 mars 2015 à 20:40:55

                              Je connais qPython3 un interpréteur python sur tablette normalement il lit les fichier .pyc mais le problème est des savoir si on peut mettre pygame en.pyc pour que cet interpréteur le lise .

                              Sinon entre python 2 et python 3 seul la syntaxe change ?

                              • Partager sur Facebook
                              • Partager sur Twitter
                                22 mars 2015 à 23:35:41

                                Sinon entre python 2 et python 3 seul la syntaxe change ?

                                Pas seulement.

                                • Le bytecode est différent (il varie entre deux versions mineures de Python).
                                • Les chaînes de caractères ne sont plus les mêmes (en Python 3 ce sont des chaînes unicode).
                                • Python 3 propose des structures de contrôle nouvelles (les context managers en particulier, qu'on retrouve seulement à partir de Python 2.7).
                                • Les objets ne sont plus représentés pareils en interne (les dernières versions de Python 2 proposent les deux formes d'objets, mais gardent l'ancienne par défaut).
                                • Certaines builtins changent du tout au tout (range, zip, map, print, input...).

                                -
                                Edité par nohar 22 mars 2015 à 23:36:17

                                • Partager sur Facebook
                                • Partager sur Twitter
                                Zeste de Savoir, le site qui en a dans le citron !
                                  23 mars 2015 à 8:45:25

                                  donc est il envisageable ( sans prendre trop de temps) de traduire un script à la main c'est à dire tout re-coder en changeant ce que tu as énuméré?
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    23 mars 2015 à 9:11:20

                                    C'est envisageable mais bancal.

                                    Tu as déjà développé ton projet avec Python 3, revenir en arrière est un non-sens technique à partir du moment où il existe des technos qui permettent de faire ce que tu veux avec Python 3, avec des performances qui suivent et une API moderne.

                                    Ce que j'essaye de t'expliquer sur mon dernier post c'est que Python2 et Python3 sont deux langages distincts, avec des idiomatismes distincts. Tu parles de résoudre un problème en changeant de langage (en adoptant un langage appelé à disparaître parce que son support ne sera plus assuré un de ces quatre) alors qu'il est possible de simplement changer de bibliothèque.

                                    -
                                    Edité par nohar 23 mars 2015 à 9:17:10

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                    Zeste de Savoir, le site qui en a dans le citron !
                                      23 mars 2015 à 17:55:21

                                      Le problème avec kivy c'est qu'il ne dispose pas de tuto complet en français et est très différent de pygame et nésséssite de tout recoder, enfin si tu connais des tuto je veux bien essayer ...
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        23 mars 2015 à 18:28:13

                                        Si le problème c'est que tu as obligatoirement besoin d'un tutoriel en Français pour utiliser une bibliothèque, alors il n'y a rien d'autre à faire que d'apprendre l'anglais. Il est impossible de développer sans se frotter à des docs en anglais technique.

                                        En ce qui me concerne, peu importe la solution que tu utiliseras au final. Je t'ai donné mon avis, tu en fais ce que tu veux.

                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                        Zeste de Savoir, le site qui en a dans le citron !
                                          23 mars 2015 à 18:35:17

                                          bon bah je vais essayer merci a tous pour tout :)
                                          • Partager sur Facebook
                                          • Partager sur Twitter

                                          py3 vers py2

                                          × 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