CodeBlanks Logo Icon CodeBlanks

setuptools

setuptools ile paketlemeyi öğrenirsin.

setuptools

setuptools, Python paketlerini derleyen ve PyPI'ya yükleyen bir araçtır. Modern kullanımda doğrudan çağrılmaz; pyproject.toml içindeki [build-system] tablosuyla bildirilir.

[build-system]
requires = ["setuptools>=61"]
build-backend = "setuptools.build_meta"

requires derleme için gereken paketleri; build-backend hangi arka ucun çalıştırılacağını belirler. Bu sayede pip install hangi aracı kullanacağını bilir.

[build-system] tablosu

[build-system] tablosu iki ana alandan oluşur. requires derleme sırasında yüklenecek paketlerin listesidir; build-backend derleme işlemini yürütecek Python nesnesinin yoludur.

[build-system]
requires = ["setuptools>=61"]
build-backend = "setuptools.build_meta"

setuptools'ın build_meta arka ucu, kaynaktan tekerlek (wheel) üretir. Bu yapılandırma olmadan pip install hangi aracı çağıracağını bilemez.

Uygulama tomllib ile build-backend oku

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

[build-system]
requires = ["setuptools>=61"]
build-backend = "setuptools.build_meta"

Sonra print(data["build-system"]["build-backend"]) ile arka ucun yolunu yazdır.

Başlangıç kodu

main.py
# tomllib modülünü içe aktar
# build-system tablosunu yapısal veri olarak yükle
# build-backend alanını yazdır

Örnek çözüm

main.py
import tomllib

data = tomllib.loads('''
[build-system]
requires = ["setuptools>=61"]
build-backend = "setuptools.build_meta"
''')

print(data["build-system"]["build-backend"])

Beklenen çıktı

setuptools.build_meta

Soru ve cevaplar

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

1 build-backend satırını tamamla

Soru
[build-system]
requires = ["setuptools>=61"]
____ = "setuptools.build_meta"
Cevap
[build-system]
requires = ["setuptools>=61"]
build-backend = "setuptools.build_meta"

Açıklama: build-backend, derleme arka üçünü belirtir.

2 setuptools.build_meta ne yapar?

  • Paketi PyPI'ya yükler
  • Kaynaktan tekerlek üretir Doğru cevap
  • Sanal ortam oluşturur
  • Bağımlılıkları döndürür

Açıklama: build_meta, kaynaktan tekerlek (wheel) üretir.

3 setuptools kavramlarını eşleştir

Kavram Anlamı
setuptools Derleme aracı
build_meta Tekerlek üretir
requires Derleme paketleri
wheel Yüklenebilir yapı

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