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.