0Pricing
Python Academy · Ders

build ile Derleme

wheel ve sdist paketleri oluşturun

build ile Derleme, CoddyKit'te ücretsiz bir Python Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Python Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Python Academy kursu toplamda 4 dersten oluşur.

Derlemenin Anlamı

Kaynak kodunuzun, pip'in kurabileceği dağıtım çıktılarına dönüştürülmesi gerekir. Bunun için kullanılan modern araç build aracıdır ve python -m build komutuyla çalıştırılır.

İki tür dosya üretir: kaynak dağıtımı ve wheel paketi.

Kaynak Dağıtımı ve Wheel Paketi

İki çıktı türü vardır:

  • Kaynak dağıtımı (.tar.gz), bir kaynak arşividir; pip bunu kurulum sırasında derler
  • Wheel paketi (.whl), önceden derlenmiş bir arşivdir; pip yalnızca arşivden çıkarır

Wheel paketleri daha hızlı kurulur ve tercih edilir. Kaynak dağıtımı yedek seçenektir ve esas kaynağı oluşturur.

Derleme Aracını Kurma

pip install build ile bir kez kurun. Bu araç ince bir ön uçtur: pyproject.toml dosyanızı okur, yalıtılmış bir ortam kurar ve çıktıları oluşturmak için derleme arka ucunuzu çağırır.

Arka ucu doğrudan çağırmazsınız; build onu koordine eder.

Derlemeyi Çalıştırma

Proje kökünden python -m build komutunu çalıştırın. Varsayılan olarak hem kaynak dağıtımı hem de wheel paketi oluşturur ve bunları yeni bir dist/ klasörüne yerleştirir.

Yalnızca birini derlemek için --wheel veya --sdist kullanın.

args = []
targets = []
if '--sdist' in args:
    targets.append('sdist')
if '--wheel' in args:
    targets.append('wheel')
if not targets:
    targets = ['sdist', 'wheel']
print('Will build:', targets)

Wheel Paketi Dosya Adları

Wheel paketi adları üst verileri kodlar: mytool-0.1.0-py3-none-any.whl; adın mytool, sürümün 0.1.0, Python sürümünün 3, ABI gereksiniminin olmadığını ve her platformu desteklediğini belirtir. Yalnızca Python kodundan oluşan paketler py3-none-any değerini alır.

name = 'mytool'
version = '0.1.0'
wheel = name + '-' + version + '-py3-none-any.whl'
print(wheel)
print('Parts:', wheel[:-4].split('-'))

Derleme Yalıtımı

Varsayılan olarak build yeni bir sanal ortam oluşturur, [build-system] bölümündeki requires bağımlılıklarını kurar ve derlemeyi orada gerçekleştirir. Böylece derlemenin yalnızca ortamınızda tesadüfen bulunan paketlere yanlışlıkla bağlı kalmaması sağlanır.

dist Klasörünü İnceleme

Bir derlemeden sonra dist/ klasörü çıktılarınızı içerir. Klasörün listesini görüntülemek, yüklemeden önce nelerin üretildiğini doğrular. Bu, sıradan bir klasör listeleme işlemidir.

dist = ['mytool-0.1.0.tar.gz', 'mytool-0.1.0-py3-none-any.whl']
for f in dist:
    kind = 'sdist' if f.endswith('.tar.gz') else 'wheel'
    print(kind.ljust(6), f)

Wheel Paketini Denetleme

Bir wheel paketi aslında yalnızca bir ZIP arşividir. Modüllerinizin ve veri dosyalarınızın bulunduğunu, önemli hiçbir şeyin dışarıda kalmadığını doğrulamak için arşivi ZIP'ten çıkarabilirsiniz. Bir dosya burada eksikse kurulumdan sonra da eksik olacaktır.

Temiz Derlemeler

build/ veya dist/ klasörlerindeki eski dosyalar kafa karıştırıcı sonuçlara yol açabilir. Bir sürüm derlemesinden önce bu klasörleri silin; böylece tam olarak güncel kaynak kodun ürettiği çıktıyı yayımlarsınız.

stale_dirs = ['build', 'dist', 'mytool.egg-info']
for d in stale_dirs:
    print('Remove before clean build:', d)

Yeniden Üretilebilir Derlemeler

Aynı kaynak kodu her zaman aynı çıktıları üretmelidir. Derleme arka ucu sürümlerini [build-system] requires içinde sabitleyin ve değerleri canlı ortamdan çekmekten kaçının. Yeniden üretilebilirlik, bir ekip arkadaşının veya sürekli tümleştirme sunucusunun aynı çıktıyı alması demektir.

Bu yaklaşım, temiz derlemelerle birlikte çalıştığında yalnızca benim makinemde çalışıyor sürprizlerini ortadan kaldırır.

Sürekli Tümleştirmede Derleme

Çoğu proje bir dizüstü bilgisayar yerine sürekli tümleştirme sunucusunda derlenir. Bir sürekli tümleştirme işi kodu alır, python -m build komutunu çalıştırır ve çıktıları saklar. Böylece sürümlerin her seferinde bilinen ve temiz bir durumdan üretilmesi sağlanır.

Yerel olarak çalıştırdığınız komutun aynısı sürekli tümleştirme ortamında da çalışır.

Hızlı Sınama

Derleme bilginizi sınayın.

Özet

Dağıtım çıktıları oluşturmayı öğrendiniz:

  • pip install build komutunu, ardından python -m build komutunu çalıştırın
  • dist/ içinde bir kaynak dağıtımı (.tar.gz) ve bir wheel paketi (.whl) üretir
  • Derlemeler, [build-system] içindeki requires değerleri kullanılarak yalıtılmış bir ortamda gerçekleştirilir
  • Sürüm yayımlamadan önce wheel paketini inceleyin ve temiz derlemeler yapın

Sıkça Sorulan Sorular

“build ile Derleme” dersi ücretsiz mi?

Evet — “build ile Derleme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Python Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Python Academy kursu toplamda 4 dersten oluşur.

“build ile Derleme” dersinde ne öğreneceğim?

wheel ve sdist paketleri oluşturun Python Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Python Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Python Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.

“build ile Derleme” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Python Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Python Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Proje Yapısı ve pyproject.toml
  2. build ile Derleme
  3. Sürümleme ve Üst Veriler
  4. twine ile Yayımlama
← Python Academy Sayfasına Dön