Forum Programmation.python urwid 1.0.0 & Python 3

Posté par  (site web personnel) .
Étiquettes : aucune
0
15
oct.
2011

Bonjour,
j'aimerais utiliser urwid(a) avec Python 3.2.2 . La toute dernière version 1.0.0 est annoncée comme étant compatible avec Python 3.2+. J'ai téléchargé le tarball mais les programmes .py d'exemples qui s'y trouvent utilisent encore une syntaxe de type 2.x(b) et ne peuvent être lancés qu'avec python 2.x. Il en va de même pour une tarball spécifique, urwid-py3k(c).
Je dois commettre une erreur mais je n'ai rien trouvé sur le net : pourriez-vous m'aider ?

Addendum : Je précise que je tiens compte de ce message de Kirk Mc Donald (d) disant, en autres choses que "The curses back-end does not work.". En effet, mais pourquoi le reste du code n'est-il pas utilisable avec Python 3 ? Est-ce que je passe complètement à côté de quelque chose ?

Merci d'avance !

(a) urwid est une bibliothèque pour développer des applications "semi-graphiques" en mode console : http://excess.org/urwid/
(b) un exemple au hasard : u"..." dans widget.py, ligne 344
(c) urwid-py3k : https://bitbucket.org/kirkmcdonald/urwid-py3k/overview
(d) http://blog.gmane.org/gmane.comp.l [...] h=20100501

  • # Peut-être le tgz n'est-il que pour Python 2.x

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

    Essaie de le récupérer via Mercurial, comme indiqué sur la page sur bitbucket que tu donnes:

    hg clone https://bitbucket.org/kirkmcdonald/urwid-py3k
    
    

    Python 3 - Apprendre à programmer dans l'écosystème Python → https://www.dunod.com/EAN/9782100809141

    • [^] # Re: Peut-être le tgz n'est-il que pour Python 2.x

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

      Laurent Pointal : merci de ta réponse. J'ai déjà essayé cette version spéciale Python 3.x et je confirme qu'elle contient du code incompatible avec Python 3.x. Par exemple dans urwid/util.py (lignes 89 et 118) on trouve un u"".
      J'ai cependant un doute sur ma manière de procéder : (1) je télécharge la tarball, la décomprese dans un répertoire (2) dans le répertoire parent je crée un fichier z.py avec la ligne import urwid (3) quand je lance python2 z.py ça passe, quand je lance python.py z.py ça casse sur util.py, ligne 49 (syntaxe Python 2.x d'une exception, incompatible avec Python 3.x).

      Je travaille sur une Archlinux à jour (Python 3.2.2 par exemple).

      Merci à ceux qu'il m'ont lu !

      Trust the Python !

      • [^] # Re: Peut-être le tgz n'est-il que pour Python 2.x

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

        Ce n'est pas une question de Python 3 à jour, mais de récupérer urwid pour Python 3.

        Je m'explique: peut-être que je me trompe, mais si tu passes par git je m'attendrais plutôt à ce que tu récupères directement des répertoires/fichiers contenant urwid (à moins qu'ils n'aient packagé un tarball à cet endroit, mais ç ame parait bizarre comme façon de distribuer des tarballs).

        Donc, re-question, tu as bien récupéré urwid via la commande git indiquée ?

        Python 3 - Apprendre à programmer dans l'écosystème Python → https://www.dunod.com/EAN/9782100809141

        • [^] # Re: Peut-être le tgz n'est-il que pour Python 2.x

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

          Merci Laurent de te pencher sur mon problème : j'ai effectivement récupéré le code nommé 'urwid-py3k' au moyen de la commande git indiquée. Je viens de refaire cette manip' avec le même insuccès qu'avant.

          Trust the Python !

        • [^] # Re: Peut-être le tgz n'est-il que pour Python 2.x

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

          Bon, ben j'ai testé le git clone, et ce qui est dans git a aussi encore des restes de Python 2...

          Par exemple:

          Python 3.1.2 (r312:79147, Apr 22 2010, 16:11:29) 
          [GCC 4.4.3] on linux2
          Type "copyright", "credits" or "license()" for more information.
          >>> import urwid
          Traceback (most recent call last):
            File "<pyshell#0>", line 1, in <module>
              import urwid
            File "/home/laurent/tmptoto/testurwidp3k/urwid-py3k/urwid/__init__.py", line 48, in <module>
              from urwid.widget import *
            File "/home/laurent/tmptoto/testurwidp3k/urwid-py3k/urwid/widget.py", line 22, in <module>
              from urwid.util import MetaSuper, decompose_tagmarkup, calc_width, is_wide_char, \
            File "/home/laurent/tmptoto/testurwidp3k/urwid-py3k/urwid/util.py", line 49
              except ValueError, e:
                               ^
          SyntaxError: invalid syntax
          
          

          Donc ça n'est pas un problème de git ou tarball...

          Python 3 - Apprendre à programmer dans l'écosystème Python → https://www.dunod.com/EAN/9782100809141

          • [^] # Re: Peut-être le tgz n'est-il que pour Python 2.x

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

            Merci du coup de main : il ne me reste donc plus qu'à écrire à qui de droit. Ce problème - sans doute mineur - ne remet pas en cause l'intérêt que je porte à urwid qui reste pour moi une bibliothèque puissante et assez facile à utiliser. Merci à ceux qui m'ont lu !

            Trust the Python !

Suivre le flux des commentaires

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