Resim

Python Sanal Ortamı(venv)

Python Sanal Ortamı (venv): Proje İzolasyonu ve Bağımlılık Yönetimi

Giriş: Sanal Ortam Neden Profesyonel Bir Gerekliliktir?

Python projeleri, kendilerine özgü kütüphanelere (bağımlılıklara) ihtiyaç duyar. İki farklı projenin aynı kütüphanenin farklı sürümlerini talep etmesi durumunda, bu durum bağımlılık çakışmalarına yol açar.

Sanal Ortam (Virtual Environment), her projeye kendi bağımsız Python yorumlayıcısını ve kütüphane deposunu sağlayarak bu çakışmayı önler. Bu, projelerin birbirini etkilemeden izole bir şekilde çalışmasını sağlar.

Kural: Yeni bir Python projesine başlarken yapacağınız ilk şey, bir sanal ortam oluşturmaktır.

1. venv Modülü ve Ortam Oluşturma

Python'ın standart kütüphanesinde yer alan venv modülü, sanal ortamları yönetmek için kullanılan temel araçtır.

Komut: Ortam Oluşturma

Terminalde, projenizin ana klasöründeyken bu komutu çalıştırın. Ortamın adı genellikle venv veya env olarak belirlenir.

# Terminal komutu
python3 -m venv venv_adi 

Ne Yapar?

  1. Proje dizininizde venv_adi adında bir klasör oluşturur.

  2. Bu klasörün içine, ana sisteminizdeki Python'ın bir kopyasını (yorumlayıcısını) ve kendi izole pip aracını yerleştirir.

  3. Bu aşamada ortam oluşturulur, ancak henüz aktif değildir.

2. Ortamı Aktifleştirme (Aktivasyon)

Bir ortama kütüphane kurmak veya o ortamdaki Python yorumlayıcısını kullanmak için önce ortamı aktifleştirmeniz gerekir.

İşletim SistemiAktivasyon Komutu
Linux/macOSsource venv_adi/bin/activate
Windows (CMD)venv_adi\Scripts\activate.bat
Windows (PowerShell)venv_adi\Scripts\Activate.ps1

Kontrol: Başarılı bir aktivasyon sonrası, terminal satırınızın başında ortamın adını (venv_adi) şeklinde görürsünüz. Bu, artık tüm python ve pip komutlarının bu izole ortamda çalışacağı anlamına gelir.

3. Kütüphane ve Bağımlılık Yönetimi

Ortam aktifken, tüm kütüphane kurulumları izole klasöre yapılır.

A. Kütüphane Kurulumu

# requests kütüphanesi SADECE bu ortama kurulur
(venv_adi) $ pip install requests pandas

B. Bağımlılıkları Kaydetme (requirements.txt)

Projenizi başka bir geliştiriciye verirken veya sunucuya taşırken, hangi kütüphanelerin gerektiğini bilmek önemlidir.

# Projenizin bağımlılıklarını ve versiyonlarını listeler ve dosyaya #yazar
(venv_adi) $ pip freeze > requirements.txt 

requirements.txt içeriği:

requests==2.28.1
pandas==1.5.3
...

C. Bağımlılıkları Yükleme

Yeni bir ortamda veya yeni bir makinede, requirements.txt dosyasındaki tüm bağımlılıkları tek komutla kurabilirsiniz:

# requirements.txt dosyasını kullanarak tüm kütüphaneleri kurar
(yeni_venv) $ pip install -r requirements.txt 

4. Ortamdan Çıkış ve Silme

A. Devre Dışı Bırakma (Deactivation)

Proje üzerinde çalışmanız bittiğinde veya ana sisteminize dönmek istediğinizde ortamı devre dışı bırakın:

# Terminal komutu
(venv_adi) $ deactivate 
# Terminal satırı normale döner

B. Sanal Ortamı Silme

Bir projeyi sildiğinizde veya artık ortamı kullanmak istemediğinizde, sadece ortam klasörünü silmek yeterlidir.

# Terminal komutu
$ rm -rf venv_adi # Linux/macOS
$ rd /s /q venv_adi # Windows

Bu işlem, ana sisteminizdeki hiçbir dosyaya zarar vermez.

Sanal ortamlar, karmaşık projeler ve ekip çalışması için zorunlu bir araçtır. python -m venv komutu, profesyonel Python geliştirme yolculuğunuzun başlangıcı olmalıdır.

🔥 Python Kariyerinizi Hemen Başlatın!

Hemen kursumuza kaydolun ve bu güçlü araçları kullanarak profesyonel Python geliştiricisi olma yolunda ilk adımı atın. Kursumuzdaki uygulamalı modüller, sizi sadece bir yazılımcı adayı değil, hazır bir profesyonel haline getirecek. Python Eğitimini Udemy platformunda bulabilirsiniz.

[ Python Eğitimi Sıfırdan İleri Seviye ]

Tıklayın ve Python Eğitimine Hemen Kaydolun!

Yorumlar

Bu blogdaki popüler yayınlar

Python random Modülü

Python print()

Yazılım Nedir?