Teknoloji ipuçlarını kendin uygula
İçerik
Son yazılar
Biz kimiz
Yazılım Atölyesi, adım adım teknoloji rehberleriyle kendi başına öğrenip uygulama yapmak isteyenlere yardımcı olur. Pratik ipuçları, araç önerileri ve çözümler bulacaksınız.

Python Virtual Environment Kurulumu

Bir Python projesi kurdun. İkinci projeye geçtin. Birinci proje bozuldu. Tanıdık geldi mi?

Sebep basit: paketleri sistem geneline kuruyorsun. Proje A Django 3 istiyor, proje B Django 5. İkisi aynı klasörde yaşayamaz. Çözüm izole ortam.

Bu rehberde sıfırdan sanal ortam kuracaksın. Sonra paket yönetimini oturtacaksın. Komutları terminale yazarak ilerle; okuyarak öğrenilmiyor.

Sanal Ortam Kurmak: venv ile Temiz Başlangıç

Python 3.3'ten beri venv standart kütüphanenin parçası. Ekstra kurulum yok. En sade yol bu.

İlk ortamı oluştur

Proje klasörüne gir ve şunu çalıştır:

Klasör adı neden .venv? Çünkü:

  1. Nokta ile başladığı için listelerde öne çıkmaz.
  2. VS Code ve PyCharm bu ismi otomatik tanır.
  3. Ekip içinde standart hâline gelmiştir.

Şimdi aktifleştir:

Terminalin başında (.venv) yazısını gördüysen tamamdır. Görmediysen aktifleşmemiştir. Kontrol et: which python ya da Windows'ta where python. Çıktı proje klasörünü göstermeli.

PowerShell hata verirse çalıştırma politikası kapalıdır. Bir kereliğine Set-ExecutionPolicy -Scope CurrentUser RemoteSigned komutu bu sorunu çözer. Terminal komutlarıyla aran zayıfsa Linux terminali başlangıç rehberini bir kez okumak işini kolaylaştırır.

Çıkmak için tek kelime yeter: deactivate.

Paketleri kur ve kilitle

Ortam aktifken kurulan her şey o klasörde kalır. Sistemine dokunmaz.

Şimdi kritik adım. Bağımlılıkları dosyaya yaz:

pip freeze > requirements.txt

Başka bir makinede aynı ortamı kurmak için:

pip install -r requirements.txt

Küçük bir uyarı: pip freeze her şeyi döker. Alt bağımlılıklar da listeye girer. Daha temiz bir yöntem, doğrudan kullandığın paketleri elle yazmak. Sürüm sabitlemeyi de unutma: flask==3.0.0 gibi.

.gitignore ve versiyon kontrolü

.venv klasörünü asla commit etme. Yüzlerce megabayt ve makineye özel yollar içerir.

Proje kökündeki .gitignore dosyasına ekle:

Repoya sadece requirements.txt gider. Bu dosya tarifin kendisidir; yemek değil. Git tarafında düzenin oturmadıysa Git workflow pratik rehberi iyi bir tamamlayıcı.

venv Yetmediğinde: conda ve Alternatifler

venv çoğu web ve script projesi için fazlasıyla yeterli. Ama bazı durumlarda duvara çarparsın.

conda ne zaman gerekir

venv sadece Python paketlerini yönetir. Python'un kendi sürümünü değiştiremez. conda ikisini de yapar.

Özellikvenvconda
KurulumPython'la gelirAyrı indirilir
Python sürümü seçimiHayırEvet
C/Fortran kütüphaneleriZorKolay
Disk kullanımıAzFazla
Tipik alanWeb, otomasyonVeri bilimi, ML

python venv conda karşılaştırmasında karar kuralı şu:

conda ortamı oluşturmak:

  1. conda create -n projem python=3.11
  2. conda activate projem
  3. conda install numpy pandas
  4. conda env export > environment.yml

İkisini aynı anda aktif tutma. Karışır, hangi pip'in çalıştığını şaşırırsın.

Diğer araçlar

Başlangıçta hepsini deneme. Bir tanesinde ustalaş, sonra genişlet.

Sık yapılan hatalar