Python modülleri ile haşır neşir olmaya başladığınızda bir bakarsınız onlarca modülü bilgisayarınıza yüklemişsiniz. Belki meraktan yüklenen onlarca modül sizi rahatsız edebilir, bazen de bilgisayarınızdaki bir modülün daha düşük versiyonlu halini, geliştirdiğiniz farklı bir projenizde kullanmak isteyebilirsiniz. İşte bunun gibi ihtiyaçlardan dolayı virtualenv diye bir araç ortaya çıktı.
Bu araç size bilgisayarınızdan bağımsız bir geliştirme ortamı sunar, siz istediğiniz modülleri bu geliştirme ortamında kurarsınız, yüklenen modüller sadece o proje için geçerli olup bilgisayarınıza yüklenmez.
Aslında pycharm kullanıyorsanız buna alışkın olmalısınız. Pycharm size her yeni projede yeni bir virtualenv kurar, bu nedenle bazen şöyle sorular sormuş olabilirsiniz;
•Bu modülü bilgisayarıma yükledim neden pycharm projemde kullanamıyorum?
•Pycharm da projeme x modülünü kurdum neden bilgisayarımda farklı projemde kullanamıyorum.
Şimdi kendimize yeni bir virtualenv nasıl kurulur onu inceleyelim.
Kurulum
Eğer yüklü değilse ilk önce pip3 yani paket yöneticisini kuralım.
sudo apt-get install python3-pip
komutu ile pip3 kurulumunu yaptıktan sonra virtualenv kurulumuna geçelim.
sudo pip3 install virtualenv
Bu komut ile virtualenv artık bilgisayarımıza kuruldu. Kontrol etmek için
virtualenv –version
komutunu çalıştırabilirsiniz.
Herşey yolunda ise devam edelim. Şimdi ise bir klasöre virtualenv kuracağız ve o bizim artık geliştirme ortamımız olacak.
➜ cd /tmp
➜ virtualenv ornekProje
Using base prefix ‘/usr’
New python executable in /tmp/ornekProje/bin/python3
Also creating executable in /tmp/ornekProje/bin/python
Installing setuptools, pip, wheel…done.
➜ cd ornekProje
İlk önce tmp klasörüne giriş yaptım. sonrasında virtualenv ornekProje komutu ile bir geliştirme ortamı kurdum. Sonrasında cd ornekProje komutu ile o klasör içerisine girdim. Geliştirme ortamımı kurdum ancak daha aktif hale getirmedim. Bunun için de
source bin/activate
komutunu çalıştırıyorum. Bu komutu çalıştırmak için geliştirme ortamı için oluşturduğum klasör içerisinde olmam gerek. eğer bu klasör içerisinde değilsem source ornekProje/bin/activate gibi bir komut yazmam gerekirdi.
Tam bu esnada eğer sanal bir geliştirme ortamı kurarken bilgisayarımdaki özel bir python sürümü üzerinden kurulum yapmak istersem –python parametresi ile ilgili versiyonun yolunu vermem gerek. Örnek olarak;
virtualenv –python=/usr/bin/python2.7 ornekProje
Bu şekilde de python 2.7 ile çalışabilecek bir sanal geliştirme ortamı oluşturmuş oldum.
Bu komutu yazdığınızda terminaliniz, parantez içerisinde (ornekProje) yazan bir hale gelecek. Artık geliştirme ortamınız hazır. Artık burada pip3 ile istediğiniz paketi kurabilirsiniz. Burda kurduğunuz paketler bilgisayarınıza yüklenmez sadece bu projeye yüklenir ve projenizi sildiğinizde de bilgisayarınızdan silinmiş olur.
Eğer bu geliştirme ortamından çıkmak isterseniz de;
deactivate
komutunu yazmanız yeterli.
Eğer pycharm kullanıyorsanız, yeni bir proje açtığınızda içerisinde venv diye bir klasör göreceksiniz. Pycharm ile açtığınız projeye yeni bir modül yüklemek istediğinizde ise
source venv/bin/activate
komutu ile geliştirme ortamınıza bağlanabilir sonrasında pip3 ile istediğiniz paketi yüklersiniz.
Unutmayın, geliştirme ortamına giriş yapmadan pip3 ile bir paket yüklerseniz, yüklediğiniz bu paket sizin virtualenv ile açtığınız geliştirme ortamınız içerisine dahil olmaz.