Python exe sorunu

python dosyamı herhangi bir arayüz tasarlamadan exe dosyasına çevirip açmam mümkün mü ?
örneğin şöyle bir kodu exe ye çevirdim ama exe dosyamı açmaya çalıştığımda bir ekran geliyor ardından hemen kapanıyor
kod:

import time
from win10toast import ToastNotifier

i = 0
while i < 5:
    toaster = ToastNotifier()
    header = "bildirim"
    text = "bildirim"
    toaster.show_toast(f"{header}",f"{text}",duration=1,threaded=True)
    while toaster.notification_active(): time.sleep(0.005)
    i+= 1

sorun nedir ?

Programınız başladığı gibi bitiyor olabilir. En sona bir input() koyarsanız, sizden bir girdi alana kadar program sonlanmaz. Bir de kodlarınızı ` karakterleri arasına yazarsanız daha iyi olur.

1 Beğeni

Ben arayüz olmadan çalıştırmayı denemiştim ama işe yaramamıştı. Yapma şansınız varsa basit bir pencere ayarlamanız iyi olur.

1 Beğeni

exe dosyasını konsoldan, örneğin cmd’den, çalıştırmayı denediniz mi? Orada yazanı buraya yazabilir misiniz?

pkg_resources.DistributionNotFound: The 'win10toast' distribution was not found and is required by the application

cmd ekranımda şöyle bir hata alıyorum

exe’ye ne ile çevirdiniz bu arada? PyInstaller mı?

Evet, aklıma hidden import kullanmak geldi. İşe yarayacağını umuruyorum.

Olabilir; uygulamayı yazdığınız Python ile PyInstaller’ın kullandığı Python aynı olmayabilir, aynı olsa daha iyi olur

aynı hatayı alıyorum çözemedim malesef

uygulamayı konsoldan python programadı.py şeklinde çalıştırabiliyorum daha sonra exeye çevirmek istediğimden cmd’ye pyinstaller programadı.py yazıyorum programım exe dosyasına dönüşüyor açmaya çalıştığımda ise hemen açılıp kapanıyor o yüzden kodun sonuna input ekledim ve cmd ekranımda şu hata dizisini aldım:

Exception in thread Thread-1:
Traceback (most recent call last):
  File "threading.py", line 954, in _bootstrap_inner
  File "threading.py", line 892, in run
  File "win10toast\__init__.py", line 93, in _show_toast
  File "pkg_resources\__init__.py", line 1143, in resource_filename
  File "pkg_resources\__init__.py", line 356, in get_provider
  File "pkg_resources\__init__.py", line 899, in require
  File "pkg_resources\__init__.py", line 785, in resolve
pkg_resources.DistributionNotFound: The 'win10toast' distribution was not found and is required by the application
Exception in thread Thread-2:
Traceback (most recent call last):
  File "threading.py", line 954, in _bootstrap_inner
  File "threading.py", line 892, in run
  File "win10toast\__init__.py", line 83, in _show_toast
AttributeError: 'ToastNotifier' object has no attribute 'classAtom'
Exception in thread Thread-3:
Traceback (most recent call last):
  File "threading.py", line 954, in _bootstrap_inner
  File "threading.py", line 892, in run
  File "win10toast\__init__.py", line 83, in _show_toast
AttributeError: 'ToastNotifier' object has no attribute 'classAtom'
Exception in thread Thread-4:
Traceback (most recent call last):
  File "threading.py", line 954, in _bootstrap_inner
  File "threading.py", line 892, in run
  File "win10toast\__init__.py", line 83, in _show_toast
AttributeError: 'ToastNotifier' object has no attribute 'classAtom'
Exception in thread Thread-5:
Traceback (most recent call last):
  File "threading.py", line 954, in _bootstrap_inner
  File "threading.py", line 892, in run
  File "win10toast\__init__.py", line 83, in _show_toast
AttributeError: 'ToastNotifier' object has no attribute 'classAtom'

efendim çalıştığımdan kontrol edip yazamadım C:\Users\ahmet\PycharmProjects\pythonProject\venv\Scripts\python.exe: No module named pyinstaller şeklinde bir hata alıyorum dediğinizi yapınca

valla 2 gündür çözüm arıyorum bulamadım yok mu yardımcı olacak bilgili bir kral

yok hocam olmuyor kodu paylaştım istersen sen de deniyebilirsin

konuyu bir daha mı açsam acaba bu şekilde görmüyorlar

import time
from win10toast import ToastNotifier

i = 0
while i < 5:
    toaster = ToastNotifier()
    header = "bildirim"
    text = "bildirim"                                        # değişiklik burada
    toaster.show_toast(f"{header}",f"{text}",duration=1,threaded=True, icon_path="")
    while toaster.notification_active(): time.sleep(0.005)
    i+= 1

Bir de bu kodlarla deneyebilir misiniz, icon_path="" değişiklik. tekrar deneyip hata alırsanız paylaşabilir misiniz ne geldiyse

hocam -m pyinstaller program.py diye bir komut yok emin misiniz doğru yazıdğınıza ya da -m yazınca ne olması gerek

'-m' is not recognized as an internal or external command,
operable program or batch file.

hatası alıyorum

hocam yok çalışmıyor modül, kendi bilgisayarında dener misin rica etsem kodlar yukarıda

Öncelikle pyinstaller modülü kurulu değilse, pip install pyinstaller
daha sonra pyinstaller dosyaAdi.py --onefile
exe dosyası dist klasöründe bulunur.

Program açılıp hemen kapanıyorsa yukarıda da dedikleri gibi input atman gerekiyor.

Kodun sonuna şunu eklersen sanırım istediğin olacak.

if i == 5:
    input("Programı Kapatmak için ENTER'le")

Denedim evet, exe hali çalıştı ve 5 kere sağ alttan bildirim çıktı. Kodlar şu (sadece icon_path=""’ değişti yukarıda bahsedildiği gibi)

import time
from win10toast import ToastNotifier

i = 0
while i < 5:
    toaster = ToastNotifier()
    header = "bildirim"
    text = "bildirim"
    toaster.show_toast(f"{header}",f"{text}",duration=1,threaded=True, icon_path="")
    while toaster.notification_active(): time.sleep(0.005)
    i+= 1

sonra da

pyinstaller.exe --onefile program.py

Sizde birkaç farklı Python var heralde o yüzden şunu deneyebilirsiniz

python -m PyInstaller --onefile program.py

Yukarılarda küçük harflerle pyinstaller yazmışım, kusura bakmayın…

1 Beğeni