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 :

curses.initscr() ne fonctionne pas sous W$7 [Python 3.X]


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2014
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2014
    Messages : 43
    Par défaut curses.initscr() ne fonctionne pas sous W$7
    Bonjour,
    j'ai enfin réussi à installer le module curses (mais non officiel) sous W$7.

    Mais si je test :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    import curses
    if __name__ == "__main__":
        curses.initscr()    # Initialisation du mode "graphique"
        curses.noecho()     # Affichage des touches tapees desactive
        curses.cbreak()     # Intersection des touches tapees
        curses.curs-set(0)  # Affichage curseur desactive
     
        windows = curses.newwin(40, 79, 0, 0)   # Creation d'une fenetre
                                                # 40 caracteres de haut
                                                # 79 caracteres de large
                                                # 0 en haut du terminal
                                                # 0 à gauche du terminal
        windows.border(0)    # Pas de bordure
        windows.keypad(1)    # Activation des touches spetiales (ex : fleches)
     
        c = windows.getch()  # Attente de l'appui d'une touche
    J'ai une erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    runfile('C:/Users/spc/Desktop/Python/CoursTP-labyrinthe/07 - labyrinthe - module curses/10-Test_curses.py', wdir='C:/Users/spc/Desktop/Python/CoursTP-labyrinthe/07 - labyrinthe - module curses')
    Traceback (most recent call last):
     
      File "<ipython-input-2-7810b52159fc>", line 1, in <module>
        runfile('C:/Users/spc/Desktop/Python/CoursTP-labyrinthe/07 - labyrinthe - module curses/10-Test_curses.py', wdir='C:/Users/spc/Desktop/Python/CoursTP-labyrinthe/07 - labyrinthe - module curses')
     
      File "C:\Program Files\Anaconda\lib\site-packages\spyder\utils\site\sitecustomize.py", line 866, in runfile
        execfile(filename, namespace)
     
      File "C:\Program Files\Anaconda\lib\site-packages\spyder\utils\site\sitecustomize.py", line 102, in execfile
        exec(compile(f.read(), filename, 'exec'), namespace)
     
      File "C:/Users/spc/Desktop/Python/CoursTP-labyrinthe/07 - labyrinthe - module curses/10-Test_curses.py", line 4, in <module>
        curses.initscr()    # Initialisation du mode "graphique"
     
      File "C:\Program Files\Anaconda\Lib\curses\__init__.py", line 30, in initscr
        fd=_sys.__stdout__.fileno())
     
    AttributeError: 'NoneType' object has no attribute 'fileno'
    J'ai bien fait attention de réécrire cette ligne en utilisant la touche <Tab> pour utiliser une fonction qui existe bien.
    Merci d'avance.
    Sylvain.

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 752
    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 752
    Par défaut
    Salut,

    Pour que curses fonctionne, il faut que stdout ressemble à un terminal "supporté" genre console Windows.

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

  3. #3
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2014
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2014
    Messages : 43
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Salut,
    Pour que curses fonctionne, il faut que stdout ressemble à un terminal "supporté" genre console Windows.
    - W
    Tout d'abord, merci pour ton aide. Mais si je pose ce genre de question c'est que je suis un peu à la rue.
    Est-ce que cela veut dire que je ne peu tester mon programme avec l'IDLE ou Spyder (ou un autre IDE) et que je suis obliger de lancer mon programme dans une console de w$7 avec <python mon_pgm.py> ?
    J'espère que je peu configurer un IDE pour tester le script en pas à pas.

    Sylvain.

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 752
    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 752
    Par défaut
    Salut,

    D'abord j'espère que votre code lancée depuis la console Windows fonctionne. Si c'est le cas, comment debugger ce genre de code depuis depuis l'IDE XY est une autre question qui dépend de XY... Et à laquelle je ne sais répondre car d'expérience je sais qu'on ne peut pas tout faire depuis un IDE et que des erreurs rencontrées lors de l'exécution d'un programme depuis l'IDE méritent d'être reproduites en dehors avant de se prendre le chou.

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

  5. #5
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2014
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2014
    Messages : 43
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Salut,
    D'abord j'espère que votre code lancée depuis la console Windows fonctionne.
    - W
    Pas du tout
    Nom : erreur_curses.jpg
Affichages : 634
Taille : 26,1 Ko

    Citation Envoyé par wiztricks Voir le message
    Salut,
    Et à laquelle je ne sais répondre car d'expérience je sais qu'on ne peut pas tout faire depuis un IDE
    C'est bien possible, mais lorsque l'on débute (et après je suppose) c'est bien pratique d'avoir des détails sur les instructions utilisées ou la valeur des différentes variables. Et pour l'instant les IDEs ne sont pas en cause.

    Je suis donc parti à la recherche d'un module permettant de gérer les touches de direction (avec pygame ?)

    Sylvain.

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 752
    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 752
    Par défaut
    Citation Envoyé par SPC89 Voir le message
    Pas du tout
    Nom : erreur_curses.jpg
Affichages : 634
Taille : 26,1 Ko
    Ok... Vous débutez mais vous êtes quand même capable de vous rendre compte que cette erreur là arrive plus tard que la précédente et est peut être liée aux paramètres passés à la fonction newwin. Donc, il va falloir apprendre à le faire fonctionner, et comme c'est une bibliothèque Linux, le forum Python n'est peut être pas le meilleur endroit pour trouver des utilisateurs de cette bibliothèque là.

    Citation Envoyé par SPC89 Voir le message
    Je suis donc parti à la recherche d'un module permettant de gérer les touches de direction (avec pygame ?)
    tkinter fait aussi cela très bien.... et si c'est juste pour saisir une touche plutôt qu'attendre l'arrivée de la fin de ligne, une bibliothèque comme getch fait cela très bien sans avoir à vous lancer dans la programmation évènementielle.

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

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

Discussions similaires

  1. Script ne fonctionne pas sous IE
    Par Stessy dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 29/09/2005, 13h44
  2. [CSS] Effet de hover qui ne fonctionne pas sous IE
    Par Ricou13 dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 14/06/2005, 09h39
  3. Réponses: 18
    Dernier message: 19/08/2004, 15h11
  4. Java ne fonctionne pas sous Firefox
    Par Info-Rital dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 29/07/2004, 23h37
  5. Réponses: 6
    Dernier message: 27/01/2004, 11h14

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