Explication et solution pour erreur au demarrage du projet

Résolu
Lenouveauapprenti Messages postés 306 Date d'inscription   Statut Membre Dernière intervention   -  
mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   -

Bonjour,

Environnement : Python 3.12

Plate frome de travail : PyCharm

je m'entraine sur un projet que je visualise sur une vidéo sur YouTube, mais au démarrage de mon projet d'apprentissage me renvoie le message ci dessous, pour lequel je vous prie de bien m'expliquer ou me proposer quelques solutions.

Merci d'avance

le message :

 'apprentissage 1\.venv\Lib\site-packages\pydub\utils.py:170: RuntimeWarning: Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work
  warn("Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work", RuntimeWarning)


Windows / Chrome 122.0.0.0

4 réponses

  1. rtfm
     

    Bonsoir.

    Dépendances de pydub.

    https://github.com/jiaaro/pydub#dependencies

    Donc il faut avant d'installer cette bibliothèque python une de ces deux bibliothèques. Donc désinstaller pydub, installer ffmepg ou libav, puis réinstaller pydub.

    Ou alors utiliser des fichiers wav et non mp3 XD

    1
  2. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     

    Bonjour,

    Ton message d'erreur laisse penser que tu as installé les paquets nécessaires, mais pas certaines librairies/exécutables tiers requises (en l'occurrence ffmpeg).

    Dans ton cas précis, tu dois installer ffmpeg ou avconv à la main. On voit cela dans le code de pydub : pydub cherche consécutivement les commandes avconv et ffmpeg avec la fonction which, et dans ton cas, comme ni l'une ni l'autre ne sont installé sur ton système, tu as un message d'erreur.

    Par exemple

    • sous Windows : voir ici
    • sous Linux (distributions basées sur Debian, comme Ubuntu, Mint...):
    sudo apt update
    sudo apt install ffmpeg

    Bonne chance

    1
  3. Utilisateur anonyme
     

    Bonjour

    alors comme habitude, dans ma boule de cristal, je vois un bel écran sans informations utiles.

    Depuis le temps qu'on te demande de donner les éléments nécessaires à essayer de répondre à tes questions, pourrais tu faire l'effort un jour....

    A minima, ton message d'erreur se réfère à la ligne 170 du fichier utils.py.

    Donc le code de cette ligne et pourquoi pas des quelques unes qui précèdent serait un début.

    Sachant, que ce fichier vient d'une dépendance de ton projet, y'a des chances que tu l'aie mal installée


    0
    1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
       

      Pour le coup le message initial est suffisamment complet : il suffit de regarder dans le code de pydub > utils.py > ligne 170 pour comprendre d'où vient le problème. Pour plus de détails voir #4.

      0
      1. Utilisateur anonyme > mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention  
         

        Oui certainement, mais vu qu'il ne l'a pas posté et que je n'ai pas envie d'installer tout et n'importe quoi (je ne dis pas que cette lib est n'importe quoi, mais que tant que je n'en ai pas l'utilité, je ne le ferai pas ), ben peut pas aller regarder cette ligne,,,,

        0
      2. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944 > Utilisateur anonyme
         

        En fait, il n'y a rien à installer, il suffit de chercher le code source du projet (cf lien donné dans #5).

        0
  4. Lenouveauapprenti Messages postés 306 Date d'inscription   Statut Membre Dernière intervention   2
     

    Bonjour

    Merci pour votre réponse, je suis d'accord avec toi, c'est sur que j'ai mal installe ou python ou pycharm ou j'utilise mal la fonction d'installation sur le terminal de pycharm (pip install )

    le problème est que le projet ne contient pas plus de 109 lignes

    encore merci, pour les lignes de codes qui ne sont pas de moi, mais recopiées a partir d'une vidéo sur le YouTube, je vous les remets avec plaisir 

    #Importation des Bibliotheques
    from tkinter import *
    import pyttsx3
    import speech_recognition as sr
    from pydub import AudioSegment
    from pydub.playback import play
    import qrcode
    import time
    from tkinter import messagebox
    
    #Creation et personnalisation de la fenetre principale
    root = Tk()
    root.title('Employes et Code QR')
    root.iconbitmap('logo.ico')
    root.geometry('370x470+500+100')
    root.resizable(False,False)
    root.config(bg="#5289B5")
    
    #Definir la fonction de bienvenue
    def welcome():
        music = AudioSegment.from_mp3('employee/sounds/Bienvenue.mp3')
        play(music)
    
    wel = pyttsx3.init()
    voices = wel.getProperty('voices')
    wel.setProperty('voice', voices[0].id)
    
    def Speak(audio):
        wel.say(audio)
        wel.runAndWait()
    def TackeCommands():
        command = sr.Recognizer()
        with sr.Microphone() as mic:
            command.phrase_threshold = 0.1
            audio = command.listen(mic)
            try:
                query = command.recognize_google(audio, language='fr')
            except Exception as Error:
                print(Error)
            return query.lower()
    
    def b1():
        query = TackeCommands()
        name = query
        e1.insert(0, name)
    def b2():
        query = TackeCommands()
        name = query
        e2.insert(0, name)
    def b3():
        query = TackeCommands()
        name = query
        e3.insert(0, name)
    
    def Sv():
        namefile = en_save.get()
        name = e1.get()
        coun = e2.get()
        job = e3.get()
        info = qrcode.make(name + coun + job)
        info.save('codeemploye/'+namefile+'.jpg')
        messagebox.showinfo('Save','Save ['+namefile+ ' ] codeemploye')
    
    #Insertion et placement du logo,png
    photo = PhotoImage(file='logo.png')
    l_img = Label(root, image=photo)
    l_img.place(x=2, y=1, width=365, height=200)
    #Creation et placement des Labels et Entry
    l1 = Label(root, text='Nom :', bg="#5289B5", font=('Tajawal',14))
    l1.place(x=10, y=230)
    
    l2 = Label(root, text='Pays :', bg="#5289B5", font=('Tajawal',14))
    l2.place(x=10, y=270)
    
    l3 = Label(root, text='Fonction :', bg="#5289B5",font=('Tajawal',14) )
    l3.place(x=10, y=310)
    #Creation et placement des Entry
    e1 = Entry(root, font=('Tajawal',14))
    e1.place(x=100, y=230)
    
    e2 = Entry(root, font=('Tajawal',14))
    e2.place(x=100, y=270)
    
    e3 = Entry(root, font=('Tajawal',14))
    e3.place(x=100, y=310)
    #Creation et placement des Bouttons
    b1 = Button(root, text='????', width=4, bg='#AFD8F2', fg='black', font=('Tajawal', 9), command=b1)
    b1.place(x=330, y=230)
    
    b2 = Button(root, text='????', width=4, bg='#AFD8F2', fg='black', font=('Tajawal', 9), command=b2)
    b2.place(x=330, y=270)
    
    b3 = Button(root, text='????', width=4, bg='#AFD8F2', fg='black', font=('Tajawal', 9), command=b3)
    b3.place(x=330, y=310)
    
    l_save = Label(root, text='Enreg. Fichier', font=('Tajawal', 14), bg='#5289B5')
    l_save.place(x=10, y=382)
    en_save = Entry(root, font=('Tajawal', 14), width=14)
    en_save.place(x=137, y=382)
    b_save = Button(root, text='Enreg ✔', bg='white', fg='red', font=('Tajawal', 10), command=Sv)
    b_save.place(x=300, y=380)
    
    l_dev = Label(root, text="MezApp'S ©", font=('Tajawal', 14), bg='#5289B5')
    l_dev.place(x=250, y=430)
    
    #welcome()
    
    #Chargement de la fenetre en boucle
    root.mainloop()
    
    0