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 :

Installation et utilisation de 2to3


Sujet :

Python

  1. #1
    Rédacteur/Modérateur

    Avatar de Jiyuu
    Homme Profil pro
    Développeur amateur
    Inscrit en
    Janvier 2007
    Messages
    2 456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur amateur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 456
    Billets dans le blog
    15
    Par défaut Installation et utilisation de 2to3
    Bonsoir à tous,

    J'envisage de migrer sur python 3.1.
    J'utilise actuellement python 2.5.4

    Comment puis-je installer et utiliser 2to3.

    Les docs et explications que j'ai pu trouver ne me sont pas très explicite en cette fin de journée pluvieuse.

    merci de votre aide
    Initiation à Qt Quick et QML : Partie 1 - Partie 2
    En cas de besoin, pensez à la
    Mon site et mes tutoriaux sur Developpez.com
    Pas de question technique par MP... Les forums sont là pour ça

  2. #2
    Membre éprouvé

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Par défaut
    Voilà comment je fais.

    J'ai mis l'exécutable 2to3 dans mon dossier où j'ai mon projet en Python (c'est juste plus pratique).

    Ensuite, je lance le terminal. Je fais un changement de dossier pour me retrouver là où est 2to3. Il suffit alors de taper :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    2to3 chemin_de_ton_fichier_ou_dossier_Python
    Pas bien dur. Pour les options, utilises :
    Après, il peut encore y avoir des problèmes à régler au cas par cas. Le mieux est alors de se reporter à Dive Into Python 3.

  3. #3
    Membre éprouvé

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Par défaut
    Citation Envoyé par Jiyuu Voir le message
    J'envisage de migrer sur python 3.1.
    Il faut quand même faire attention au problème de la compatibilité des bibliothèques. Pour ma part, je développe sous Python 3 car j'ai besoin de manipuler des fichiers texte, et Python 2 me fatiguait trop à force.

    Malheureusement, j'aurais aussi besoin d'utiliser des choses comme sympy, numpy, pyenchant et pyquerry. Pour le moment, je ne peux pas utiliser ces bibliothèques sous Python 3, mais bon j'ai fait un pari sur leur portabilité sous Python 3 sous peu.

  4. #4
    Rédacteur/Modérateur

    Avatar de Jiyuu
    Homme Profil pro
    Développeur amateur
    Inscrit en
    Janvier 2007
    Messages
    2 456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur amateur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 456
    Billets dans le blog
    15
    Par défaut
    merci pour ces conseils. Par contre, et là je sens que je vais passer pour un boulet, tu le trouves où l'exe 2to3??? car là je cherche est trouve que dal à télécharger.

    Pour le moment en biblio externe j'utilise principalement pywin32. J'espère qu'il passe avec python3.
    Le reste des mes import c'est assez standard: os, os.path, sys, math...
    Initiation à Qt Quick et QML : Partie 1 - Partie 2
    En cas de besoin, pensez à la
    Mon site et mes tutoriaux sur Developpez.com
    Pas de question technique par MP... Les forums sont là pour ça

  5. #5
    Membre éprouvé

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Par défaut
    Tu dois l'avoir dans ton dossier Python 2.6 qu'il faut donc installer pour l'occasion. Voir ici pour avoir le bon dossier.

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 418
    Par défaut
    2to3.py n’a pas à être installé séparément.
    En installant Python 31, le fichier 2to3.py en fait partie,
    on le trouve dans Python31\Tools\Scripts

    Mais il est aussi dans Python26\Tools\Scripts et c’est le même, j’ai vérifié.





    Maintenant pour ce qui est de l’utiliser selon la doc, j’ai des difficultés.

    La page de doc est ici:
    http://docs.python.org/py3k/library/2to3.html
    mais je n’arrive pas à faire ce qui est indiqué.



    Here is a sample Python 2.x source file, example.py:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    def greet(name):
        print "Hello, {0}!".format(name)
    print "What's your name?"
    name = raw_input()
    greet(name)
    It can be converted to Python 3.x code via 2to3 on the command line:


    Mes scripts Python sont dans C:\Python31\progs 31
    Il y a un fichier old26.py dans ce dossier.


    • Si je fais Start / Programmes / Python 3.1 / Python (command line)
      puis que dans la fenêtre noire je tape
      >>> $ 2to3 old26.py
      j’obtiens un beau message d’erreur:
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
        File “<stdin>“, line 1
          $ 2to3 old26.py
          ^
      SyntaxError: invalid syntax











    Si je place 2to3.py dans C:\Python31\progs 31 comme le conseille rambc, ça ne change rien.


    NB: je pense qu’il est complétement idiot de vouloir appeler Python depuis la ligne de commande Python (fenêtre noire) ou depuis la fenêtre Shell de IDLE (fenêtre blanche) puisqu’on est déjà dans Python dans ces cas.
    Merci de me confirmer cette idiotie.



    Qu’est ce que c’est que ce signe dollar $ ?
    Dans quelles conditions est-il utilisé ?



    ---------------------------------------


    Je suis par contre parvenu à modifier (une fois) old26.py situé dans mon dossier C:\Python31\progs31 en faisant ainsi:

    - comme le conseille rambc, j’ai copié le fichier 2to3.py dans C:\Python31\progs31

    - j’ai aussi copié python.exe dans C:\Python31\progs31 pour tout faire en se plaçant dans C:\Python31\org31 de la façon suivante

    - ai fait Start / Exécuter , tapé cmd -> ouverture du terminal MS-DOS

    - comme le prompt qui apparaît est C:\Documents and Settings\Administrateu> , j’ai fait cd\ pour remonter dans le répertoire

    - le prompt est alors C:\> , je tape cd Python31\progs31

    - le prompt est désormais C:\>Python31\progs31 et je tape python 2to3.py old26.py

    J’ai réussi à obtenir la transformation du fichier ... une fois.
    Maintenant je n’y arrive plus. Je ne comprends pas pourquoi.

    Ça écrit par exemple une ligne originale
    print ’entrer la valeur : ’
    puis la ligne transformée
    print(’entrer la valeur : ’)
    et en fin d’excution deux lignes
    RefactoringTool: Files that need to be modified:
    RefactoringTool: old26.py


    Mais quand j’ouvre old26.py il est resté identique, alors qu'une fois il a été transformé.

  7. #7
    Membre éprouvé

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Par défaut
    Le $ n'a pas à être écrit, c'est un caractère qu'affiche automatiquement une console sous Linux.

    Essayes les commandes que j'ai données plus haut, cela devrait marcher.

  8. #8
    Membre éprouvé

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Par défaut
    Citation Envoyé par eyquem Voir le message
    ... je pense qu’il est complétement idiot de vouloir appeler Python depuis la ligne de commande Python (fenêtre noire) ou depuis la fenêtre Shell de IDLE (fenêtre blanche) puisqu’on est déjà dans Python dans ces cas.
    On lance ce script depuis un Terminal ou une Console MS-DOS.

    Tiens-nous au courant.

  9. #9
    Rédacteur/Modérateur

    Avatar de Jiyuu
    Homme Profil pro
    Développeur amateur
    Inscrit en
    Janvier 2007
    Messages
    2 456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur amateur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 456
    Billets dans le blog
    15
    Par défaut
    Bon c'est bon, j'ai isntallé 2.6 (j'utilisai 2.5 et je pense pas que 2to3 y soit).

    Concernant l'utilisation, j'ai copié collé 2to3.py dans le répertoire où est mon script à convertir et dans un .bat (je suis sous windows), j'ai écrit ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    python 2to3.py -w essai2to3.py
    pause
    essai2to3.py étant le code à transcrire.

    Et ça marche nikel.

    EDIT:
    Si tu ne mets pas -w cela ne ré-écrit pas dans ton code. Ça te montre juste les modifs à priori.
    A noter aussi que tu auras un fichier .py.bak qui est une sauvegarde de ton projet initial
    Initiation à Qt Quick et QML : Partie 1 - Partie 2
    En cas de besoin, pensez à la
    Mon site et mes tutoriaux sur Developpez.com
    Pas de question technique par MP... Les forums sont là pour ça

  10. #10
    Membre Expert
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 418
    Par défaut
    j'utilisai 2.5 et je pense pas que 2to3 y soit
    En effet. Le module lib2to3 n’est pas présent dans la doc de Python 2.5.4 , mais apparaît dans la doc de Python 2.6
    C’est compréhensible puisque les développements de 2.6 et de 3.0 ont été menés étroitement en parallèle.




    Si tu ne mets pas -w cela ne ré-écrit pas dans ton code.
    pffff... Je n’avais pas assez bien lu. Je me demande comment j’ai réussi à obtenir un fichier transformé une fois.




    Le $ n'a pas à être écrit, c'est un caractère qu'affiche automatiquement une console sous Linux.
    aaaaah d’accord. Pourquoi utilisent-ils $ dans la doc sur 2to3 alors que je ne l’ai jamais vu auparavant dans d’autres sections ?.....




    Tiens-nous au courant.
    J’ai fait:

    - Start / Run , tapé cmd –> ouverture d’un interprèteur de ligne de commande (fenêtre noire)
    Dans mon précédent post, j’ai appelé ça “terminal MS-DOS“ mais je ne suis pas sûr que ce terme convienne, donc je préfère dire maintenant “interprèteur de ligne de commande“ pour ne pas me mouiller.

    - je n’ai déplacé aucun fichier ni changé quoique ce soit au prompt
    >>> C:\Documents and Settings\Administrateur
    (je ne sais pas pourquoi celui-ci , d’ailleurs...)

    - j’ai tapé après le prompt:
    C:\Python26\python C:\Python26\Tools\Scripts\2to3.py -w C:\Python26\progs26\old26.py

    et j’ai obtenu un fichier old26.py modifié et un fichier de sauvegarde old26.py.bak


    Jusqu’à présent je n’avais utilisé Python que sous IDLE, d’où mon ignardise.

    Merci pour vos explications à tous les deux.





    On lance ce script depuis un Terminal ou une Console MS-DOS.
    rambc, qu’est ce que tu appelles Terminal et Console MS-DOS ? Quelle différence fais tu ?

  11. #11
    Membre éprouvé

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Par défaut
    Citation Envoyé par eyquem Voir le message
    Pourquoi utilisent-ils $ dans la doc sur 2to3 alors que je ne l’ai jamais vu auparavant dans d’autres sections ?.....
    C'est un usage des tutos, un peu comme pour l'utilisation de Python en console où l'on met ">>> a=5" pour "a=5".

    Citation Envoyé par eyquem Voir le message
    rambc, qu’est ce que tu appelles Terminal et Console MS-DOS ? Quelle différence fais tu ?
    Aucune sinon j'aurais utilisé un XOR...

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

Discussions similaires

  1. librairie boost: installation et utilisation
    Par Luther13 dans le forum Autres éditeurs
    Réponses: 6
    Dernier message: 31/01/2006, 16h03
  2. [tomcat]installation et utilisation
    Par popov2 dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 21/12/2005, 09h27
  3. [Artichow] Installation et utilisation d'un de leurs exemples
    Par matterazzo dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 27/10/2005, 11h21
  4. besoin dun tutoriel d'instalation et utilisation
    Par Pierrick584 dans le forum MFC
    Réponses: 1
    Dernier message: 25/04/2005, 23h40
  5. [ADO.NET] Installation appli utilisant base access
    Par Didier69 dans le forum Accès aux données
    Réponses: 2
    Dernier message: 27/09/2004, 11h50

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