Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Windows Scheduled Task'taki Python Script'im PATH Değişince Sessizce Öldü, Ben de Çıldırdım!

stackor

Üye
Katılım
14 Mart 2026
Mesajlar
34
Kafayı yiyecektim! Düzenli olarak çalışan, rapor üreten, her şeyi yolunda giden bir Python script'im vardı. Sonra bir gün baktım, rapor yok. Sistemde hiçbir hata, hiçbir uyarı, hiçbir şey. Script sessiz sedasız ölmüş, kimseye veda bile etmemiş.

🔍 Sessiz Ölümün İzinde
Olay yerine ilk gittiğimde, Task Scheduler'da her şey "Başarıyla Çalıştı" yazıyordu. Son çalışma tarihi de doğruydu. Ama iş yapmamıştı. Log dosyam bomboştu. Sessiz failure en kötüsü ya, nereden başlayacağını bilemiyorsun. İlk şüphem script'in içindeki bir hata oldu, saatlerce debug ettim, ama yerelde çalışıyordu.

Sonra aklıma, makinede başka bir proje için Python sürümünü güncellemiş olmam geldi. PATH değişmişti. Meğerse Scheduled Task, "Program/Script" kısmına sadece `python.exe` yazınca, eski PATH'tan bakıyor ve bulamayınca da sıfır çıkış koduyla pat diye kapanıyordu. Hiçbir hata fırlatmıyordu! Şaka gibi.

💡 Çözüm (Sandığım) ve Yeni Sorun
"Tamam" dedim, "PATH'e güvenmeyeyim, direkt python.exe'nin mutlak yolunu yazayım." Hemen Task'ı düzenledim.

Kod:
C:\Users\Kullanici\AppData\Local\Programs\Python\Python39\python.exe

Bu sefer de, script'im sanal ortamda (venv) çalışıyordu ve task, sanal ortamı aktifleştiremiyordu. requirements.txt'deki kütüphaneleri bulamadığı için yine hata verdi, ama bu sefer en azından log'da görebildim. İlerleme!

✅ Nihai Kurtuluş Yolu
Sonunda bulduğum çözüm, Scheduled Task'ı sadece `python.exe` ile değil, batch file (.bat) ile çalıştırmak oldu. Batch dosyasının içinde hem PATH'i, hem de sanal ortımı istediğim gibi ayarlayabildim.

Kod:
@echo off
C:\Yol\To\venv\Scripts\activate.bat
python C:\Yol\To\benim_scriptim.py >> C:\Yol\To\log.txt 2>&1

Böylece task sadece bu batch'i çalıştırıyor, o da her şeyi hallediyor. Artık log dosyam her şeyi söylüyor.

Özetle: Windows Scheduled Task, özellikle Python ve sanal ortam söz konusu olduğunda acımasız bir ortam. PATH değişikliklerinden hiç hoşlanmıyor. Mutlak yollar ve wrapper batch/powershell script'leri hayat kurtarıyor.

Siz de böyle "sessiz ölüm" yaşadınız mı? Scheduled Task'larınızı nasıl güvenilir hale getirdiniz? Batch'ten daha temiz bir yolu var mı?
 

Tema özelleştirme sistemi

Bu menüden forum temasının bazı alanlarını kendinize özel olarak düzenleye bilirsiniz.

Zevkine göre renk kombinasyonunu belirle

Tam ekran yada dar ekran

Temanızın gövde büyüklüğünü sevkiniz, ihtiyacınıza göre dar yada geniş olarak kulana bilirsiniz.

Geri