CodeBlanks Logo Icon CodeBlanks

Özet - Paketleme

pyproject.toml, venv ve pip'i birleştirerek paketlenebilir bir proje yazarsın.

Özet - Paketleme

Bu grupta Python paketlemenin temel araçlarını öğrendin:

  • pyproject.toml: proje kimliği ve bağımlılıklar.
  • setuptools: [build-system] ile derleme aracı.
  • venv: izole sanal ortam.
  • pip install -e .: editable kurulum, sys.path.
  • requirements.txt: dondurulmuş bağımlılık listesi.

Son görevde bu araçların hepsini bir arada kullanacaksın: pyproject içeriğini tomllib ile okuyacak ve bağımlılık sayısını yazdıracaksın.

Uygulama Proje adını ve bağımlılık sayısını yazdır

import tomllib ile başla. data = tomllib.loads(...) çağrısıyla aşağıdaki TOML dizesini yapısal veriye çevir:

[project]
name = "demo"
version = "0.1.0"
dependencies = ["requests>=2.28", "httpx==0.24"]

Sonra print(data["project"]["name"]) ile proje adını, print(len(data["project"]["dependencies"])) ile bağımlılık sayısını yazdır.

Başlangıç kodu

main.py
# tomllib modülünü içe aktar
# TOML dizesini yapısal veri olarak yükle
# proje adını yazdır
# bağımlılık sayısını yazdır

Örnek çözüm

main.py
import tomllib

data = tomllib.loads('''
[project]
name = "demo"
version = "0.1.0"
dependencies = ["requests>=2.28", "httpx==0.24"]
''')

print(data["project"]["name"])
print(len(data["project"]["dependencies"]))

Beklenen çıktı

demo
2

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Paketleme araçlarını eşleştir

Kavram Anlamı
pyproject.toml Proje kimliği
setuptools Derleme aracı
venv Sanal ortam
requirements.txt Bağımlılık listesi

2 Aşağıdakilerden hangisi pyproject.toml içindeki geçerli bir tablodur?

  • [python]
  • [project] Doğru cevap
  • [import]
  • [package]

Açıklama: [project] tablosu paket kimliğini tutar.

İleri seviye bölümündeki tüm dersler