Python Venv (Sanal Ortam) Nedir? Nasıl Kururlur?

Virtual Environment (Sanal Ortam), Python programcılarının projelerini izole ederek bağımlılıkları yönetmelerini sağlayan bir araçtır. Sanal ortam, projenizin çalışması için gerekli olan paketleri ve

Python Venv (Sanal Ortam) Nedir? Nasıl Kururlur?
NetAdvi tarafından hazırlanmıştır.
Son Güncelleme: 11 Kasım 2023 17:44

Giriş

Virtual Environment (Sanal Ortam), Python programcılarının projelerini izole ederek bağımlılıkları yönetmelerini sağlayan bir araçtır. Yani ne demek istiyoruz? Python kullanarak bir proje geliştiriyoruz ve bu projede ihtiyacımız olan Python modül sayısı 5. Eğer bu proje için pip komutuyla direk modül yüklemesi yaparsak halihazırda bilgisayarımızda bulunan Python ile yüklü gelen modüllerle aynı ortamda tutulacaktır. Biz bunu istemiyoruz çünkü bu durum projemiz için gerekli olan modüllerin diğer Python modülleri ile çakışıp projemizde aksaklık ve karışıklığa sebep olabilir. Üstelik sadece o proje için kullanılacak olan modüllerin Python ortamına yüklenmesi gereksiz disk alanı kullanımına da sebebiyet verir. Bundan dolayı sanal ortam oluşturmamız gerekiyor.


Virtual Environment (Sanal Ortam) Nedir?

Python'ın güçlü yanlarından biri, zengin bir kütüphane ekosistemine sahip olmasıdır. Ancak, farklı projelerin farklı paket sürümlerine ihtiyaç duyması veya farklı paketlere bağımlı olması durumunda, bu projeleri tek bir Python ortamında çalıştırmak zor olabilir. İşte bu noktada sanal ortamlar devreye girer. Sanal ortamlar, her projeyi izole ederek her birine kendi bağımlılıklarını ve paketlerini yüklemenizi sağlar. Bu sayede projelerinizin birbirine müdahale etme riskini azaltırken, her bir projenin özel ihtiyaçlarına göre paketleri yönetebilirsiniz.


Virtual Environment (venv) Nasıl Kurulur?

Python'un kendi kütüphanesi olan venv ile sanal ortamlar oluşturabilirsiniz. Komut isteminden sanal ortamı kuracağınız dizine "cd" komutu ile gidin. Sonra aşağıdaki kodu çalıştırın.


python -m venv myenv

Buradaki "myenv" yazan kısım sizin sanal ortamınıza vereceğiniz isim istediğiniz adı verebilirsiniz ama unutmayın Python'da Türkçe karakterler kullanmak hataya sebep olur!

Sanal Ortam Aktifleştirme

Evet sanal ortamımızı oluşturduk. Şimdi iste sanal ortamımızı aktif etmemiz gerekecek.

Windows için:

myenv/Scripts/activate

*Visual Studio Code (VS Code) kullanıyorsanız sanal ortamın yolunu seçmek için: Shift + Ctrl + P kombinasyonunu tuşladıktan sonra "Python: Select Interpreter" (Python: Yorumlayıcı Seç) dedikten sonra yorumlayıcı yolunu seçebilirsiniz.
Böylelikle projenizin dosya yolunda çalışırken terminali yeniden başlattığınızda (Ctrl + ") activate komutunu yazmanıza gerek kalmadan sanal ortamınız otomatik başlatılacaktır.

macOs veya Linux için:

source myenv/bin/activate

Sanal ortam aktif olduğunda komut satırında (myenv) şeklinde sanal ortamınızın adı yazacaktır.


(myenv) PS: C:/users/mydir/myproject>

Sanal ortamı başarıyla aktive ettikten sonra, pip komutunu kullanarak paketleri yükleyebilirsiniz. Yüklediğiniz paketler sadece bu sanal ortamda geçerli olacaktır.

Sanal Ortamı Sonlandırmak

Çalışmanızı bitirdiğinizde sanal ortamı kapatmak için deactivate komutunu kullanabilirsiniz:


deactivate


Sonuç

Python sanal ortamları, projelerinizi izole ederek yönetmenizi sağlayan güçlü bir araçtır. Farklı projelerin farklı bağımlılıklara ihtiyaç duyduğu durumlarda, venv kullanarak her projenin gereksinimlerini düzgünce yönetebilir ve projelerinizin daha kararlı ve etkili olmasını sağlayabilirsiniz.