Code python ne marche que dans l'environnement de dev

Fermé
user9955 - Modifié le 6 juil. 2023 à 15:54
mamiemando Messages postés 33539 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 19 février 2025 - 6 juil. 2023 à 15:57

Bonjour,

Je code sur python depuis quelque temps et je voudrais que le code suivant soit lancé par une autre application.

import speech_recognition as sr
import pygame

r = sr.Recognizer()

# bob
def bob():
    if "Bonjour" in texte :
        print("coucou")

# Bruit
pygame.mixer.init()# initialise the pygame
pygame.mixer.music.load("son.mp3")
pygame.mixer.music.play(loops=0)

# Reconnaissance de ce que tu veux...
with sr.Microphone() as source:
    print('Je vous écoute')
    audio = r.listen(source)
    print ("Demande au service de reconnaissance vocale...")
    try:
        global texte
        text = r.recognize_google(audio, language='fr-FR')
        texte = text
        bob()
    except sr.UnknownValueError:
        print("J'attends votre question")
        pygame.mixer.music.load("non.mp3")
        pygame.mixer.music.play(loops=0)
    except sr.RequestError as e:
        print("Erreur lors de la demande à Google Speech Recognition service; {0}".format(e))
        pygame.mixer.music.load("non.mp3")
        pygame.mixer.music.play(loops=0)

Or quand je double-clique pour ouvrir le fichier, il ne fonctionne pas, alors qu'il fonctionne parfaitement quand je passe par la fonction run de l'environnement de développement...

Pouvez-vous m'aider ? Merci d'avance !

A voir également:

2 réponses

Utilisateur anonyme
6 juil. 2023 à 11:18

Bonjour 

tout d'abord, pour tes prochains posts, merci d'utiliser la coloration syntaxique https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code

Un script python n'est pas auto exécutable. Il y a plusieurs options pour répondre à ton besoin, mais il nous faut des informations que tu n'as pas donné. 2 en premier

  • Que se passe t il quand tu double cliques ?
  • Quel est tu OS?

0
mamiemando Messages postés 33539 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 19 février 2025 7 828
6 juil. 2023 à 15:57

Bonjour,

Sous windows, en admettant que ton programme s'appelle toto.py et que ton terminal (commande ms-dos ou autres) soit positionné dans ce dossier, que se passe-t'il si tu lances :

python toto.py

Sous Linux, il faudrait ajouter en première ligne de ton script python le shebang suivant :

#!/usr/bin/env python3

Bonne chance

0