Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore
Yazılım Nedir ?
Yazılım, günümüzde teknoloji dünyasının en temel kavramlarından biridir. En basit tanımıyla, elektronik…

Yazılım, günümüzde teknoloji dünyasının en temel kavramlarından biridir. En basit tanımıyla, elektronik…
Kod yazmak artık yalnızca geliştiricilerin işi değil. Günümüzde fikirler doğal dilde ifade…
Python Virtual Environment Nedir? Herkese yeniden Merhaba! Bugün sizlere backend geliştirme sırasında…
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore


Herkese yeniden Merhaba!
Bugün sizlere backend geliştirme sırasında karşılaştığım bir problemden bahsedeceğim.
Python ile backend projeleri yaparken paket yönetimi için başlangıçta Anaconda kullanıyordum. Anaconda, veri bilimi ve bilimsel hesaplamalar için çok sayıda kütüphane barındıran güçlü bir dağıtımdır. Ancak backend geliştirmede bu kadar fazla pakete ihtiyaç olmuyor. Anaconda’yı yüklediğinizde beraberinde yüzlerce kütüphane kuruyor ve bir süre sonra sistem adeta paket çöplüğüne dönüşüyor. Bu da hem diskte gereksiz alan kaplıyor hem de ortamı ağırlaştırıyor. Benim ihtiyacım ise sadece kullanacağım kütüphaneleri içeren hafif bir ortam oluşturmaktı.
Bu problemi Virtual Environment (Sanal Ortam) kullanarak çözdüm.
Sanal ortamın amacı yalnızca çalışma alanını küçültmek değildir. Asıl görevi, farklı projelerde kullanılan paketleri birbirinden bağımsız şekilde yönetebilmektir. Sanal ortam sayesinde, sisteminize global olarak yüklediğiniz paketlerden doğabilecek çakışmaların önüne geçebilirsiniz. Bu nedenle Python projeleri geliştirirken her zaman sanal ortam kullanmak en doğru yaklaşımdır.
Not: Buradaki adımlar Python 3.x sürümleri için geçerlidir. Ayrıca, Python 3.3 ve sonrasında sanal ortam oluşturmayı sağlayan venv modülü varsayılan olarak gelmektedir.
Python’da sanal ortam oluşturabilmek için öncelikle pip’in kurulu olması gerekir. Pip, üçüncü parti Python kütüphanelerini yüklemek ve yönetmek için kullanılan paket yöneticisidir. Pip hakkında daha detaylı bilgiye ulaşmak için buraya göz atabilirsiniz. Pip’i yüklemek için bağlantıdaki kurulumu indirmeniz gerekir. Ardından, Windows kullanıcıları Komut İstemi üzerinden, Linux kullanıcıları ise Terminal üzerinden dosyanın bulunduğu dizine giderek kurulumu başlatabilirler.
python get-pip.py
Komutunu çalıştırmalısınız. Pip kurulumunu tamamlamış olduk.
Öncelikle bir proje klasörü açalım ve bu klasörün içine geçelim. Ardından sanal ortamı başlatmak için aşağıdaki komutları kullanabiliriz:
Windows için:
python -m venv env
Linux için:
python3 -m venv env
Buradaki env ifadesi, oluşturduğumuz sanal ortamın ismidir. İsterseniz bu adı kendi tercihlerinize göre değiştirebilirsiniz.

Sanal ortamımıza paket yüklemeden önce aktifleştirmemiz gerekiyor. Aktifleştirmek için
Windows için:
.\env\Scripts\activate
Linux için:
source env/bin/activate
kodunu yazmalıyız. Eğer komut istemi ekranınızda
(env) C:Users\kullanıcı\Desktop\test
ya da terminal ekranınızda
(env) work-pc:test user$
şeklinde (env) yazıyorsa, sanal ortamınızın içindesiniz demektir.

Bu komut ile sanal ortamdan çıkılır ve sisteminizin varsayılan Python ortamına dönülür. Aynı sanal ortamı tekrar kullanmak istediğinizde ise, ilgili aktivasyon komutunu (Windows: env\Scripts\activate, Linux/Mac: source env/bin/activate) yeniden çalıştırmanız gerekir.
Örneğin, sanal ortamımıza FastAPI kütüphanesini yüklemek isteyelim. Bunun için öncelikle sanal ortamın aktif olduğundan emin olalım ve ardından şu komutu çalıştıralım:
pip install fastapi
Bu komutla FastAPI, yalnızca ilgili sanal ortamın içine kurulacaktır. Böylece global Python ortamınızda herhangi bir karışıklık oluşmaz.
Eğer kurmak istediğimiz kütüphanenin belirli bir sürümünü kullanmak istiyorsak, bunu paket adının yanına sürüm numarasını yazarak yapabiliriz. Örneğin FastAPI’nin 0.95.2 sürümünü yüklemek için:
pip install fastapi==0.95.2
Eğer paketleri tek tek kurmak yerine toplu şekilde yüklemek istiyorsak, requirements.txt isminde bir dosya oluşturup içine gerekli kütüphaneleri yazabiliriz.

Bu dosyayı hazırladıktan sonra komut satırında aşağıdaki komutu çalıştırarak tüm paketleri aynı anda yükleyebiliriz:
pip install -r requirements.txt
Bu yöntemle hem zamandan tasarruf edilir hem de projenin ihtiyaç duyduğu bağımlılıklar tek bir dosyada kayıt altına alınmış olur.
Eğer yüklü olan bir paketi güncellemek istiyorsak
pip install --upgrade pandas
Eğer yüklenmiş olan bir paketi kaldırmak istiyorsak
pip uninstall pandas
Yüklenen tüm paketleri listelemek istiyorsak
pip list
Evet, yazımızın sonuna geldik. Sanal ortam kullanarak projelerinizi daha güvenli, düzenli ve sorunsuz şekilde geliştirmenizi temenni ediyorum.
