Pyinstaller ile exe yaptığım dosya açılır açılmaz kapanıyor

Arkadaşlar merhabalar. Vs Code kullanarak bir python dosyası kodladım. Kodladığım dosyayı cmd üzerinden exe dosyasına çeviriyorum ardından uygulamaya çift tıklıyorum ancak program açılıp hemen geri kapanıyor. Yani hiç bir hata mesajı vermeden cmd ekranı açılıp kapanıyor. Bunu nasıl düzeltebilirim ?

kodu atar mısın? ctrl +e içinde

1 Beğeni
from playsound import playsound

from gtts import gTTS

import speech_recognition as sr

import os

import time                          #BİLGİSAYARIN TARİHİNİ ALMAK VE ZAMAN İŞLEMLERİ İÇİN

from datetime import datetime        

import random                        

from random import choice            

import webbrowser                    

r= sr.Recognizer()

def record(ask = False):

    with sr.Microphone() as source:

        if ask:

            print(ask)

        audio = r.listen(source)

        voice = ""

        try:

            voice = r.recognize_google(audio, language="tr-TR")

        except sr.UnknownValueError:

            print("Anlayamadım")

        except sr.RequestError:

            print("Asistan: Sistem çalışmıyor")

        return voice

   

#BURASI DİYALOGLARI TANIMLADIĞIM ALAN

def response(voice):

       #DİYALOGLAR

        if "merhaba" in voice or "ne haber" in voice:

            speak("patron sana nasıl yardımcı olabilirim?")

            playsound(etkilesim)

        if "selam" in voice:

            speak("sana 2 kere selam")

            playsound(etkilesim)

        if "sen kimsin" in voice or "sen nesin" in voice:

            benSelection = ["unuttun mu beni sen kodladın", "ben senin sanal asistanınım", "ben bir makine programıyım"]

            benSelection = random.choice(benSelection)

            speak(benSelection)

            playsound(etkilesim)

        if "kim olduğunu söyle" in voice:

            speak("ben senin dünyalar tatlısı sanal asistanınım")

            playsound(etkilesim)

        if "teşekkürler" in voice or "teşekkür ederim" in voice or "sağol" in voice:

            speak("teşekküre gerek yok ben senin için buradayım")

            playsound(etkilesim)

        if "görüşürüz" in voice or "kendine iyi bak" in voice or "güle güle" in voice:

            grsSelection = ["ihtiyacın olduğunda ben buralardayım", "görüşürüz", "biraz dinleneyim", "eyvallah reis. pardon görüşürüz diyecektim", ]

            grsSelection = random.choice(grsSelection)

            speak(grsSelection)

        if "kendini kapat" in voice or "dinlen" in voice or "sana bugün izin verdim" in voice:

            speak("makina olabilirim ama kaytarmayı severim. kaçtım")

            exit()

     

       #ZAMAN VERİLERİNİ ALMAK İÇİN KOMUTLAR

        if "hangi gündeyiz" in voice or "bugün günlerden ne" in voice or "haftanın hangi günündeyiz" in voice or "bana günü söyle" in voice:

            today = time.strftime("%A")                                   #BU KOD BİLGİSAYARIN SAATİNİ ALIYOR. BUNU KULLANMAK İÇİN "İMPORT TİME"

            today.capitalize()

            if today == "Monday":

                today = "Pazartesi"

            elif today == "Tuesday":

                today = "Salı"

            elif today == "Wednesday":

                today = "Çarşamba"

            elif today == "Thursday":

                today = "Perşembe"

            elif today == "Friday":

                today = "Cuma"

            elif today == "Saturday":

                today = "Cumartesi"

            elif today == "Sunday":

                today = "Pazar"

            speak("bugün günlerden" + (today))

            playsound(etkilesim)

        if "saat kaç" in voice or "bana saati söyle" in voice or "saati söyler misin" in voice or "saati merak ediyorum" in voice or "saati söyle" in voice:

            selection = ["hemen bakıyorum. saat", "eti kemik geçiyor. şaka şaka saat", "bir yere mi gideceksin. neyse beni ilgilendirmez saat şu an", "bakayım. saat", "bakıyorum. saat", "saat"]  #BURADA BİZE VERMESİNİ İSTEDİĞİMİZ CEVAPLAR İÇİN BİR LİSTE OLUŞTURDUK

            clock = datetime.now().strftime("%H:%M")                      #BURADA PC NİN SAATİNİ VE DAKİKASINI ALIP CLOCK DEĞİŞKENİNE ATADIK

            selection = random.choice(selection)

            speak(selection + clock)

            playsound(etkilesim)

       

       #GOOGLE ARAMASI YAPMAK İÇİN KOMUTLAR

        if "google'da ara" in voice or "internette ara" in voice:

            searchSelection = ["ne aramamı istersin", "neyi aratalım", "ayıp şeyler olmasın ama. ne arayalım", "of çok üşendim şimdi. ne aratacaksın", "hayır aramayacağım. şaka şaka neyi arayalım"]

            searchSelection = random.choice(searchSelection)

            speak(searchSelection)

            playsound("activation.mp3")

            search = record

            url = "https://www.google.com/search?client=opera-gx&q=" + search()              #arama yapacağımız url yi belirledik.

            webbrowser.get().open(url)                                                       #belirlediğimiz url nin açılmasını sağladık

            speak("web'de bunu buldum")

            playsound(etkilesim)

       

       #PC UYGULAMALARINI ÇALIŞTIRMAK İÇİN KOMUTLAR

        if "uygulama aç" in voice or "uygulama çalıştır"in voice:

            speak("hangi uygulamayı açmamı istiyorsun")

            playsound(etkilesim)

            runApp = record()

            runApp = runApp.lower()

            if "steam" in runApp:

                speak("hemen ilgileniyorum")

                os.startfile("D:\Program Files (x86)\Steam\steam.exe")

        #NOT KAYDETMEK İÇİN KOMUTLAR

        if "not et" in voice or "not al" in voice or "bir not kaydet" in voice:

            speak("tamam. dosyanın adı ne olsun")

            txtFile = record() + ".txt"

            speak("ne kaydetmek istiyorsun")

            theText = record()

            f = open(txtFile, "w", encoding="utf-8")

            f.writelines(theText)

            f.close

            speak("kayıt işlemi tamam")

            playsound(etkilesim)

        #PC Yİ KAPAT

        if "bilgisayarı kapat" in voice:

            speak("görüşürüz")

            os.system("shutdown /s /t 0") #bilgisayarı kapatma komutu

        if "bilgisayarı yeniden başlat" in voice:

            speak("hemen hallediyorum")

            os.system("shutdown /r /t 0") #bilgisayarı yeniden başlatma kodu.

                   

def speak(string):

    tts = gTTS(text=string, lang="tr", slow=False)

    file = "answer.mp3"

    tts.save(file)

    playsound(file)

    os.remove(file)

etkilesim = "activation.mp3"

tag = ("patron")

playsound(etkilesim)

speak("adamım hoşgeldin")

playsound(etkilesim)

#PROGRAMIN İLK AÇILIŞI

while True:

    voice = record()

    if voice != '':

        voice = voice.lower()

        print(voice)

        response(voice)

bir sesli asistan çalışması yapıyorum. kodlar o projeye ait

Merhabalar, uygulamayı terminal üzerinden çalıştırıp eğer çıktı varsa çıkan çıktıyı paylaşabilir misiniz?

Uygulamayı reminalde çalıştırdığımda hata almıyorum herşey tıkır tıkır çalışıyor

Executable dosyayı terminalden çalıştırmanızı kast etmiştim, Python dosyasını değil.

1 Beğeni


Kusura bakma lütfen biraz acemiyim. Terminalden çalıştırmaktan kastın exe dosyasını cmd üzerinden start ile çalıştırmak ise yapıyorum ancak açılıp kapanıyor yani aynı sorun devam ediyor. Exe olmayan dosyayı çalıştırmak istediğimde de aynı şeyi yapıyor. Program açılıp anında kapanıyor.


exe dosyası alınmadan komut isteminde programı çalıştırdığımda şu şekilde çalıştı şu anda

Herhangi bir komut istemi(terminal),PowerShell açın.

Ardından .exe dosyasının olduğu dizine gidin. Örnek : cd C:/Users/Mahmut/Desktop/program

.\dosyam.exe yazın ve çıkan sonucu buraya gönderin.

Aslında hata neden oluştuğunu söylüyor. Gerekli ses dosyası executable dosyaya göre doğru konumda mı diye kontrol edebilirsiniz.

SORUN ÇÖZÜLDÜ. YARDIMLARINIZ İÇİN TEŞEKKÜR EDERİM. :pray:

1 Beğeni

AYNI HATA İLE KARŞILAŞAN ARKADAŞLAR OLURSA, Alih78 İSİMLİ KULLANICININ SÖYLEDİĞİ GİBİ SES DOSYAMI EXE DOSYAMIN OLDUĞU DİST KLASÖRÜNÜN İÇİNE KOPYALADIM VE SORUN ÇÖZÜLDÜ.

1 Beğeni