requirements.txt
- Python kursu
- İleri seviye
- Ders 77/83
- 5 dk
requirements.txt ile bağımlılık yönetimini öğrenirsin.
requirements.txt
requirements.txt, bir projenin bağımlılıklarını satır satır listeler. pip install -r requirements.txt komutu listedeki her paketi kurar. Üretim dağıtımlarında pyproject.toml'a alternatif olarak kullanılır.
requests>=2.28
httpx==0.24Dosyada her satır bir paket ve isteğe bağlı sürüm belirtecidir. pip freeze > requirements.txt komutu yüklü paketlerin tam sürümlerini dondurarak bu dosyayı üretir.
Sürüm belirteçleri
Bağımlılık satırlarında sürüm belirteçleri kullanılır: >= en az, == tam, < küçük, ~= uyumlu sürüm anlama gelir.
requests>=2.28 # en az 2.28
httpx==0.24 # tam 0.24
rich<13 # 13'ten küçükÜretimde == ile tam sürüm kilitlemek öngörülebilirlik sağlar. Geliştirmede >= daha esnektir; ancak büyük sürüm değişikliklerinde sürprizlere yol açabilir.
Uygulama requirements.txt içeriğini say
requirements adlı bir dize değişkenine aşağıdaki içerikleri ata:
requests>=2.28
httpx==0.24Sonra deps = [line for line in requirements.strip().split("\n") if line.strip()] ile satırları listele. print(len(deps)) ile satır sayısını, print(deps[0]) ile ilk satırı yazdır.
Başlangıç kodu
# requirements adlı bir dizeye iki satırlık bağımlılık listesi ata
# satırları boşlukları temizleyerek bir listeye çevir
# satır sayısını ve ilk satırı yazdırÖrnek çözüm
requirements = "requests>=2.28\nhttpx==0.24\n"
deps = [line for line in requirements.strip().split("\n") if line.strip()]
print(len(deps))
print(deps[0])Beklenen çıktı
2 requests>=2.28
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 pip freeze > requirements.txt ne yapar?
- Tekerlek üretir
- Paketleri siler
- Sanal ortam oluşturur
- Yüklü sürümleri döndürür Doğru cevap
Açıklama: pip freeze yüklü paketlerin tam sürümlerini dosyaya yazar.
2 >= belirtecini tamamla
requests____2.28
requests>=2.28
Açıklama: >= en az bu sürümü ister.
3 Sürüm belirteçlerini eşleştir
| Kavram | Anlamı |
|---|---|
>= |
En az |
== |
Tam |
< |
Küçük |
~= |
Uyumlu |