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

Déploiement/Installation Python Discussion :

Problème avec le module turtle [Python 3.X]


Sujet :

Déploiement/Installation Python

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    336
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 336
    Points : 165
    Points
    165
    Par défaut Problème avec le module turtle
    Bonjour à tous,

    Je me lance dans la programmation python et j'ai déjà un problème :

    Impossible de compiler un programme avec le module turtle !

    Même en tapant dans le Shell "import turtle" j'ai le même message d'erreur :

    >>> import turtle
    Traceback (most recent call last):
    File "<pyshell#0>", line 1, in <module>
    import turtle
    File "D:\PROGRAMMES\Langages\Python34\lib\turtle.py", line 3940
    def demo1():
    ^
    IndentationError: expected an indented block

    >>>

    Quelqu'un peut-il m'aider ?
    Merci

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut,

    Le fichier "D:\PROGRAMMES\Langages\Python34\lib\turtle.py" a probablement été modifié car, il devrait contenir l'indentation du block définissant la fonction demo1 et ressembler à çà:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if __name__ == "__main__":
         ...
        def demo1():
            """Demo of old turtle.py - module"""
            reset()
            tracer(True)
    Désinstaller/réinstaller Python pourrait être une solution.
    Et si vous voulez regarder comment sont construits les sources sans les modifier par inadvertance, autant les récupérer et les "poser" dans un répertoire différent de celui utilisé pour exécuter vos codes.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    336
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 336
    Points : 165
    Points
    165
    Par défaut
    Bonjour et merci pour ta réponse.

    Je ne comprends pas comment le fichier "turtle.py" a-t-il été modifié.
    Je n'ai rien changé à l'installation initiale faite à partir du fichier "python-3.4.3.msi" que j'ai téléchargé sur "python.org".
    Par ailleurs, j'ai créé un répertoire "codes" pour stocker mes propre codes.

    En examinant le code de "turtle.py" effectivement, je trouve :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        [...] return newdocstr
        def demo1():
     
        def demo1():
    def _screen_docrevise(docstr):
        """To reduce docstrings from TurtleScreen class for functions [...]
    "demo1()" n'est pas défini.

    Pour y remédier,

    • J'ai donc mis en commentaire les différentes occurrences de demo1() (3 au total).

    • J'ai dû corriger une autre erreur d'indentation.


    Maintenant, le fichier "turtle.py" compile et exécute 2 petites démos.

    Merci beaucoup.


    Cordialement

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    336
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 336
    Points : 165
    Points
    165
    Par défaut
    Et non ! Le problème n'est pas résolu.

    Si "turtle.py" compile bien tout seul, j'ai toujours un bug lors de l'import du module turtle.

    Voici mon programme ("etoiles02.py"):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    from turtle import *
    color('red', 'yellow')
    begin_fill()
    while True:
        forward(200)
        left(170)
        if abs(pos()) < 1:
            break
    end_fill()
    done()
    Voici la compil :
    >>>
    Traceback (most recent call last):
    File "D:\PROGRAMMES\Langages\Python34\codes\etoiles02.py", line 1, in <module>
    from turtle import *
    File "D:\PROGRAMMES\Langages\Python34\codes\turtle.py", line 1
    >>> import turtle
    ^
    SyntaxError: invalid syntax
    >>>

    J'ai déjà réinstallé plusieurs fois python alors je ne vois pas ce que je peux faire de plus.
    Avez-vous une idée ?

  5. #5
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Salut,

    Là, ça donne l'impression que tu as foiré quelque chose quelque part.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    File "D:\PROGRAMMES\Langages\Python34\codes\turtle.py", line 1
    >>> import turtle
    d'abord line 1 évoque du code lancé dans l'interpréteur interactif et ensuite >>> confirme.

    Comment comprendre ce que tu fais exactement comme opération ?

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    336
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 336
    Points : 165
    Points
    165
    Par défaut
    Certes il y a quelque chose de "foiré" à quelque part, mais c'est précisémént ce qu'il faut trouver !

  7. #7
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut,

    Vous avez plusieurs soucis.

    Le premier est qu'il n'est pas recommandé de cannibaliser les répertoires de votre installation Python avec des choses à vous. Vos répertoires utilisateurs sont là pour çà.

    Le second provient du fichier "turtle.py" que vous avez crée dans "D:\PROGRAMMES\Langages\Python34\codes". Son existence fait que l'instruction "from turtle import *" récupère ce turtle là plutôt que la bibliothèque Python.

    Enfin, la première ligne de ce fichier semble contenir ">>> import turtle"...

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    336
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 336
    Points : 165
    Points
    165
    Par défaut
    Bonjour et merci pour votre implication.

    @wiztricks

    Le plus fort, c'est que je n'ai rien fait de cela...

    1. Je n'ai pas modifié les fichiers d'origines (sauf pour corriger les problèmes découverts avec "turtle.py"
      (Voir mon second message du 17/04/15 12h24).
    2. Le fichier "turtle.py" se trouve toujours dans son répertoire d'origne.
      Il n'a pas bougé contrairement à ce que laisse supposer le message d'erreur.
    3. Je n'ai pas mélangé mon code avec les fichiers d'origines puisque seul "etoiles02.py" se trouve dans le répertoire spécifique "codes".
    4. J'ai intallé Python en cliquant sur "python-3.4.3.msi" tout simplement.


    Je veux enseigner Python à mon fils pour l'initié à la programmation, pour lui comme pour moi c'est un peu désapointant.


    Cordialement.

  9. #9
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Citation Envoyé par JOHN14 Voir le message
    ...
    [Je n'ai pas mélangé mon code avec les fichiers d'origines puisque seul "etoiles02.py" se trouve dans le répertoire spécifique "codes".
    ...
    Pourtant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    File "D:\PROGRAMMES\Langages\Python34\codes\turtle.py", line 1
    >>> import turtle
    Python ne peut se tromper.

  10. #10
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Citation Envoyé par JOHN14 Voir le message
    @wiztricks

    Le plus fort, c'est que je n'ai rien fait de cela...
    On s'en fout: on essaye juste de "diagnostiquer" la cause des soucis que vous partagez ici.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    336
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 336
    Points : 165
    Points
    165
    Par défaut
    @wiztricks

    On s'en fout: on essaye juste de "diagnostiquer" la cause des soucis que vous partagez ici.
    Il faudrait répondre quoi ? Il y a des informations utiles dans ce que j'ai écris.

    La façon dont on s'exprime sur ce forum n'est vraiment pas cool.

  12. #12
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Supprime le fichier turtle.py qui se trouve dans le dossier codes.

    Si le message d'erreur l'indique à cet endroit, c'est qu'il y est, quoique tu en dises.

  13. #13
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    336
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 336
    Points : 165
    Points
    165
    Par défaut
    Bonjour à tous.

    Supprime le fichier turtle.py qui se trouve dans le dossier codes
    J'y ai effectivement trouvé un fichier du nom de "turtle.py" vide.
    Je l'ai supprimé et le problème a été résolu.

    Par la suite, j'ai à nouveau téléchargé de fichier .msi et tout réinstallé.

    Cette fois, j'ai pu vérifier que le fichier turtle.py compilait et s'exécutait correctement. Il me parait intègre donc parfaitement intègre cette fois.

    Désormais, tout fonctionne.

    Je remercie tous ceux qui ce sont penchés sur mon problème et qui m'ont aidé à progresser.

    Bien cordialement.

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

Discussions similaires

  1. Problème avec le module AI::Categorizer
    Par Pinoute dans le forum Modules
    Réponses: 0
    Dernier message: 20/07/2007, 11h50
  2. problème avec le module TK
    Par thierry7106 dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 12/05/2007, 13h50
  3. Probléme avec le module turtle
    Par Newbie46 dans le forum Général Python
    Réponses: 7
    Dernier message: 15/02/2007, 21h03
  4. problème avec le module DBI
    Par vbcasimir dans le forum SGBD
    Réponses: 6
    Dernier message: 08/10/2005, 12h48
  5. problème avec un module
    Par vbcasimir dans le forum Modules
    Réponses: 2
    Dernier message: 29/08/2005, 15h59

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