Python'da Sanal Ortam ve Paket Yönetimi: Nasıl Yapılır?

    Python projelerinde bağımlılıkları izole etmek ve yönetmek için sanal ortamlar ve paket yönetim araçları büyük önem taşır. Bu yazıda, venv, pipenv, conda ve virtualenv gibi popüler araçları nasıl kullanabileceğinizi adım adım anlatacağız.

   1. Sanal Ortam Nedir ve Neden Kullanmalıyız?

   Python projeleri genellikle farklı kütüphaneler ve versiyon bağımlılıkları gerektirir. Sanal ortamlar, her proje için ayrı bağımlılıkları yöneterek:

  • Çakışan bağımlılıkları önler.
  • Projelerin belirli Python ve kütüphane versiyonlarına bağlı kalmasını sağlar.
  • Sisteme global kütüphane yüklemeyi önleyerek temiz bir çalışma ortamı sunar.

    2. venv ile Sanal Ortam Kullanımı

   Python'un yerleşik venv modülü, sanal ortam oluşturmak için en basit yoldur. venv,  python 3.3 ve sonrasında standart kütüphane ile gelen bir sanal ortam aracıdır. kurulum gerektirmez ve temel ihtiyaçları karşılar.

    Sanal Ortam Oluşturma

  python -m venv my_env

    Bu komut, my_env adında bir sanal ortam oluşturur.

    Sanal Ortamı Etkinleştirme

  • Windows:
    my_env\Scripts\activate
    
  • macOS/Linux:
    source my_env/bin/activate
    

 Etkinleştirdiğinizde terminalde (my_env) şeklinde sanal ortamın etkin olduğunu göreceksiniz.

    Bağımlılık Yükleme ve Listeleme

    Bağımlılıkları yüklemek için:

  pip install package_name

    Yüklü paketleri görmek için:

  pip list

    Tüm bağımlılıkları requirements.txt dosyasına kaydetmek için:

  pip freeze > requirements.txt

    Bağımlılıkları yeniden yüklemek için:

  pip install -r requirements.txt

    3. pipenv ile Sanal Ortam ve Paket Yönetimi

  pipenv, hem sanal ortamı hem de bağımlılıkları yönetmek için kullanılır.

    Kurulum

  pip install pipenv

    Sanal Ortam ve Bağımlılık Kurulumu

  pipenv install package_name

    Bu komut otomatik olarak bir sanal ortam oluşturur ve bağımlılığı yükler.

    Sanal Ortamı Etkinleştirme

  pipenv shell

    Bağımlılıkları Dosyalara Kaydetme

  Pipenv, bağımlılıkları Pipfile ve Pipfile.lock dosyalarında saklar.

    Tüm bağımlılıkları yüklemek için:

  pipenv install

    4. conda ile Sanal Ortam Yönetimi

  conda, özellikle veri bilimi ve bilimsel hesaplama projeleri için güçlü bir araçtır.

    Kurulum

    Anaconda veya Miniconda yükleyerek conda kullanabilirsiniz.

    Sanal Ortam Oluşturma

  conda create --name my_env python=3.9

    Sanal Ortamı Etkinleştirme

  conda activate my_env

    Bağımlılık Yönetimi

    Bağımlılıkları yüklemek için:

  conda install package_name

    Tüm bağımlılıkları kaydetmek için:

  conda list --explicit > environment.yml

    Bağımlılıkları geri yüklemek için:

  conda env create -f environment.yml

    5. virtualenv ile Sanal Ortam Yönetimi

  virtualenv, venv ile benzer bir işlev görür ancak daha fazla özelleştirme sunar.

    Kurulum

  pip install virtualenv

    Sanal Ortam Oluşturma

  virtualenv my_env

    Sanal Ortamı Etkinleştirme

  • Windows:
    my_env\Scripts\activate
    
  • macOS/Linux:
    source my_env/bin/activate
    

    6. Hangi Araç Ne Zaman Kullanılmalı?

Araç         Kullanım Durumu
venv         Küçük projeler için basit ve yerleşik bir çözüm.
pipenv         Proje bağımlılıklarını daha iyi yönetmek için ideal.
conda         Veri bilimi ve büyük ölçekli projeler için güçlü.
virtualenv venv ile benzer, ancak eski Python sürümleri için daha esnek.

    Sonuç

  Sanal ortamlar ve paket yönetim araçları, Python projelerinizin bağımlılıklarını izole etmenize ve yönetmenize yardımcı olur. Projenizin ihtiyaçlarına göre en uygun yöntemi seçerek daha düzenli ve sürdürülebilir bir geliştirme süreci oluşturabilirsiniz.