Python Dosyasının EXE'si başlamadan kapanıyor

Ahmet Efe11

Decapat
Katılım
18 Ağustos 2023
Mesajlar
159
Çözümler
1
Daha fazla  
Cinsiyet
Erkek
Python:
import speech_recognition as sr.
import os.
import time.
import tkinter as tk.
def komut_dinle():
 r = sr.Recognizer()
 with sr.Microphone() as source:
 print("Dinleniyor... (sihirli kelimeyi söyle)")
 audio = r.listen(source,timeout=5,phrase_time_limit=5)
 try:
 komut = r.recognize_google(audio, language="tr-TR")
 print("Algılanan:", komut)
 if "çalış" in komut.lower():
 print("Komut algılandı, uygulama başlatılıyor...")
 os.system("python advancedagptcopy.py") # veya başka bir komut.
 return "exit"
 elif "kapan" in komut.lower():
 return "exit"
 except sr.UnknownValueError:
 print("Anlaşılamadı.")
 except sr.RequestError:
 print("Google API hatası.")
while True:
 sonuc = komut_dinle()
 if sonuc == "exit":
 break

Bu kodun EXE formatına dönüştürülmüş doyasını açtığım zaman CMD açılıp hemen kapanıyor hiç çalışmadan, neden olabilir?
 
Son düzenleyen: Moderatör:
Genel hata yakalama koymamışsınız, try-except ile hata yakalama yapın daha geniş çapta. Ayrıca Windows mikrofon erişimi izni vermiyor olabilir. EXE olarak değil de konsoldan çalıştırınca durum nedir?
 
Python:
import speech_recognition as sr.
import os.
import time.
import tkinter as tk.
def komut_dinle():
 r = sr.Recognizer()
 with sr.Microphone() as source:
 print("Dinleniyor... (sihirli kelimeyi söyle)")
 audio = r.listen(source,timeout=5,phrase_time_limit=5)
 try:
 komut = r.recognize_google(audio, language="tr-TR")
 print("Algılanan:", komut)
 if "çalış" in komut.lower():
 print("Komut algılandı, uygulama başlatılıyor...")
 os.system("python advancedagptcopy.py") # veya başka bir komut.
 return "exit"
 elif "kapan" in komut.lower():
 return "exit"
 except sr.UnknownValueError:
 print("Anlaşılamadı.")
 except sr.RequestError:
 print("Google API hatası.")
while True:
 sonuc = komut_dinle()
 if sonuc == "exit":
 break

Bu kodun EXE formatına dönüştürülmüş doyasını açtığım zaman CMD açılıp hemen kapanıyor hiç çalışmadan, neden olabilir?

İmport OS. Gibi şeylerde nokta gereksiz diye biliyorum onları kaldır. Ondan olabilir. Olmadı EXE'ye py installer ile nasıl dönüğştürdüysen onun kodunu atar mısın?
 
İmport OS. Gibi şeylerde nokta gereksiz diye biliyorum onları kaldır. Ondan olabilir. Olmadı EXE'ye py installer ile nasıl dönüğştürdüysen onun kodunu atar mısın?

O noktalar kopyalarken geliyor normalde yok.

Genel hata yakalama koymamışsınız, try-except ile hata yakalama yapın daha geniş çapta. Ayrıca Windows mikrofon erişimi izni vermiyor olabilir. EXE olarak değil de konsoldan çalıştırınca durum nedir?

Konsoldayken sıkıntı yok EXE dosyasını açınca açılmıyor CMD açılıp kapanıyor.
 
Son düzenleyen: Moderatör:
O noktalar kopyalarken geliyor normalde yok.

Konsoldayken sıkıntı yok EXE dosyasını açınca açılmıyor CMD açılıp kapanıyor.

Dostum büyük ihtimalle kodda değil olay, çünkü “konsolda çalışıyor EXE'de kapanıyor” diyorsun ya, bu çok klasik bir şey.

Python'dan EXE yapınca, kodun içinde hata varsa ya da kod hızlı bitiyorsa CMD ekranı anında kapanır, sen de ne olduğunu göremezsin.

Senin bu sorunu çözmek için yapman gereken çok basit.
Kodun en altına şunu ekle:
Python:
input("Çıkmak için Enter'a bas...")

Bu satırla birlikte program bittiğinde pencere kapanmaz, orada bekler. Eğer hata varsa da rahat rahat görürsün.
Ayrıca Tkinter import edilmiş ama hiç kullanılmamış gibi duruyo. GUI ekran vs. yoksa onu silebilirsin, kafayı karıştırmasın.
Son olarak merak ettim, EXE'yi nasıl yaptın? Şöyle mi yazdın?
Bash:
pyinstaller --onefile script.py

Yoksa başka bir parametre kullandın mı (--noconsole falan gibi)?
Çünkü --noconsole yazarsan da CMD gözükmez, hatayı asla göremezsin.
 
Hocam ileride başkalarına göndermek için --onedir ile aldım EXE'yi.

İnputu eklememe rağmen aynı sonuç.

Dostum EXE dosyasını çift tıklama. CMD'yi aç, sonra EXE'nin olduğu klasöre git ve oradan çalıştır:
Bash:
cd "C:/Users/SeninKlasör/Desktop/proje"

dist/script/script.exe

Ya da EXE'nin olduğu yere sağ tık - "terminali burada aç" de, sonra:
Kod:
script.exe

Yap. Böylece hata varsa kapanmaz, neler döndüğünüü görürsün.

Bir de dosyayı yönetici olarak çalıştırmayı dene. İzinleri verdiğini unutma ayrıyeten.
 
CMD'den çalıştırdığımda direkt alt satıra iniyor.

Dostum son çare:

Kod:
pyinstaller --onefile --add-data "*.wav;." --hidden-import=pyaudio dosyanınismi.py

Bununla dene. Pyaudio yuda içine alsın. Diğer türlü kodu değiştir dostum istersen daha kapsamlı kod atarım sana daha iyisini falan.
 
Tıpatıp aynı sonuç maalesef hocam amacım Siri, Google asistan gibi bir Windows asistan yapmaktı bu EXE'yi de PC açılırken otomatik başa sabitliycektim diğer sesli asistan kodumu başlatacaktı başlat dediğimde ama bir türlü EXE'ye çevirme düzgün olmadı
 

Technopat Haberler

Yeni konular

Geri
Yukarı