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 :

Exécution avec keyboard


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2009
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 26
    Par défaut Exécution avec keyboard
    Bonjour.

    Je travaille sur un raspberry 4. Je cherche à lancer un son lorsqu'on appuie sur la touche espace sauf keyboard pose des soucis.
    J'ai essayé avec keyboard.wait('space'), keyboard.is_pressed('space') et keyboard.add_hotkey('space') mais rien à faire ça m'affiche toujours l'execution dans l'IDE :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    I must be root to use this library
    J'ai essayé de passer par la console avec "sudo python script.py"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    import keyboard ModuleNotFoundError : No module named 'keyboard'
    Comment puis-je passer outre.

    Merci

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 746
    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 746
    Par défaut
    Salut,
    Citation Envoyé par leaf blade Voir le message
    Comment puis-je passer outre.
    Si vous n'avez pas les droits de root, ça ne marchera pas.

    Après la question est pourquoi lancer le script via sudo ne trouve pas keyboard: certainement parce que l'environnement python lancé par "python" (une version 2 ans doute) n'est pas le même que celui utilisé dans l'IDE (python3?).

    Dans les 2 cas, ce sont plus de questions de maîtrise de votre environnement de travail que des questions de programmation.

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

  3. #3
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 835
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Essaye cette commande: sudo python3 script.py.
    Ou alors tu écris #!/usr/bin/env python3 en début de script et tu peux alors l'appeler directement sans appeler Python (c'est l'OS qui s'en charge) => sudo ./script.py.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  4. #4
    Membre averti
    Inscrit en
    Mai 2009
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 26
    Par défaut
    Bonsoir
    Après la question est pourquoi lancer le script via sudo ne trouve pas keyboard: certainement parce que l'environnement python lancé par "python" (une version 2 ans doute) n'est pas le même que celui utilisé dans l'IDE (python3?).
    Je suis sur la version de python 3.9.2 et pygame 1.9.6

    Essaye cette commande: sudo python3 script.py.
    Déjà essayé. Même résultat.

    Si cela vous intéresse, voilà mon script.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    import pygame
    import keyboard
    pygame.mixer.init()
    pygame.mixer.music.load('pouet.mp3')
    while True:
        keyboard.add_hotkey('space', lambda: pygame.mixer.music.play())

  5. #5
    Membre Expert
    Avatar de MPython Alaplancha
    Homme Profil pro
    Paysan à 3 francs six sous
    Inscrit en
    Juin 2018
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Paysan à 3 francs six sous
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2018
    Messages : 923
    Billets dans le blog
    8
    Par défaut
    Bonjour,
    Personnellement je n'utiliserai pas un module qui nécessite des droits root pour fonctionner (risque de sécurité).
    Regarde du côté de pynput qui lui fonctionne très bien sans. https://pypi.org/project/pynput/

  6. #6
    Membre Expert
    Avatar de MPython Alaplancha
    Homme Profil pro
    Paysan à 3 francs six sous
    Inscrit en
    Juin 2018
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Paysan à 3 francs six sous
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2018
    Messages : 923
    Billets dans le blog
    8
    Par défaut
    Kdo:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    from pynput import keyboard
    import pygame
     
     
    pygame.mixer.init()
    pygame.mixer.music.load('patati.wav')
     
    def on_press(key):   
        if key == keyboard.Key.space:
            pygame.mixer.music.play()
     
    with keyboard.Listener(
            on_press=on_press ) as listener:
        listener.join()

  7. #7
    Membre averti
    Inscrit en
    Mai 2009
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 26
    Par défaut
    Citation Envoyé par Hominidé Voir le message
    Kdo:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    from pynput import keyboard
    import pygame
     
     
    pygame.mixer.init()
    pygame.mixer.music.load('patati.wav')
     
    def on_press(key):   
        if key == keyboard.Key.space:
            pygame.mixer.music.play()
     
    with keyboard.Listener(
            on_press=on_press ) as listener:
        listener.join()
    Je t'aime. Merci. Les enfants vont pouvoir avoir leur jeu.

  8. #8
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 746
    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 746
    Par défaut
    Citation Envoyé par Hominidé Voir le message
    Personnellement je n'utiliserai pas un module qui nécessite des droits root pour fonctionner (risque de sécurité).
    Sur un Raspberry, on n'a pas forcément envie d'installer un serveur X (pré-requis à pyinput).

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

Discussions similaires

  1. Erreur d'exécution avec les Runtime
    Par denils dans le forum Runtime
    Réponses: 30
    Dernier message: 22/01/2015, 15h21
  2. Réponses: 6
    Dernier message: 28/11/2013, 11h55
  3. Problème d'exécution avec Dec C++
    Par PNL dans le forum C
    Réponses: 20
    Dernier message: 02/10/2005, 03h59
  4. Réponses: 5
    Dernier message: 08/02/2005, 20h50
  5. Problème à l'exécution avec wxWindows (compilé avec BCC55)
    Par ShootDX dans le forum Autres éditeurs
    Réponses: 5
    Dernier message: 14/11/2003, 18h04

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