Python Modül Yüklümü Kontrolü

 Python da bir modül yüklü değilse ilk kullanmaya çalıştığınızda modülün olmadığına dair bir hata mesajı verir ve yazılım durur. Özellikle yeni bilgisayarda bir kod çalıştırırken veya bir başka kaynaktan aldığınız kodları kendi bilgisayarınızda çalıştırırken bu durum sıkca meydana gelebilir. Aşağıdaki kod bilgisayarınızda ilgili modüllerin olup olmadığını kontrol eder ve yoksa yükleme işlemini otomatik olarak yapar.

import importlib.util
import subprocess
import sys
def check_and_install(package_name):
    # Modül yüklü mü kontrol et
    if importlib.util.find_spec(package_name) is None:
        print(f"{package_name} modülü yüklü değil, yüklenecek...")
        # pip ile modülü yükle
        subprocess.check_call([sys.executable, "-m", "pip", "install", package_name])
    else:
        print(f"{package_name} modülü yüklü.")
# Kullanılacak modülleri burada kontrol edebilirsiniz
required_packages = ['numpy', 'requests', 'pandas']
for package in required_packages:
    check_and_install(package)

importlib.util.find_spec() ile modülün yüklü olup olmadığını kontrol eder.
Eğer modül yüklü değilse, subprocess.check_call() ile pip komutunu çalıştırarak gerekli paketi yükler.

İhtiyaç duyduğunuz modüllerin isimlerini required_packages listesine ekleyerek, hepsinin kontrolünü yapabilirsiniz.

Bu yöntem, bir script'in çalışmadan önce gerekli tüm modüllerin yüklü olduğundan emin olmanızı sağlar.

Python Schedule Modülü Nasıl Kullanılır

 Python'da zamanlanmış görevler için schedule modülünü kullanabilirsiniz. 


# Bu kısımda `schedule` ve `time` modüllerini import ediyoruz.
import schedule
import time

# Yeni bir zaman aralığı belirliyoruz.
new_interval = 20

# İşlev: Belirli bir işi gerçekleştiren ve zaman aralığını güncelleyen fonksiyon
def job_function(job_name):
    global new_interval
    print(job_name + " çalıştı!")
    
    # Zaman aralığını artırıyoruz.
    new_interval += 1
    print(new_interval)
    
    # Güncellenmiş zaman aralığını ilgili işe atıyoruz.
    job_list["job3"].interval = new_interval

# Çalıştırılacak işlerin adları
job_names = ["job1", "job2", "job3"]

# İş listesini oluşturuyoruz ve her bir işi plana ekliyoruz.
job_list = {}
for job_name in job_names:
    job = schedule.every(5).seconds.do(job_function, job_name)
    job_list[job_name] = job

# Planlanan işleri gösteriyoruz.
print(job_list)

# Planlanan işleri alıp ekrana yazdırıyoruz.
scheduled_jobs = schedule.get_jobs()
for job in scheduled_jobs:
    print(job)

# Ana döngü
n = 0
while True:
    # Planlanan işleri çalıştırıyoruz.
    schedule.run_pending()
    
    # 1 saniye bekleme
    time.sleep(1)
    
    # Güncellenmiş işleri gösteriyoruz.
    scheduled_jobs = schedule.get_jobs()
    for job in scheduled_jobs:
        print(job)
    
    # 11. turda "job2" işini iptal ediyoruz.
    if n == 11:
        cancelled_job = job_list["job2"]
        schedule.cancel_job(cancelled_job)
    
    n += 1

# Güncellenmiş işleri bir kez daha gösteriyoruz.
scheduled_jobs = schedule.get_jobs()
for job in scheduled_jobs:
    print(job)

    

Google