Virtualenv nedir? Kurulumu ve Kullanımı

Yazar: gokmeneskin | Görüntülenme: 7315 | Eklenme Tarihi: 05 Mayıs 2020
Virtualenv python için sanal, sistemden bağımsız izole bir ortam oluşturan pakettir. Virtualenv sayesinde birden fazla uygulamamız için aynı paketin farklı versiyonlarını ya da farklı paketleri kullanabilmemizi sağlar. Gelin virtualenv kurulumu ve kullanımına bakalım.
Python dili ile geliştirme yapıyorsanız, pip ve paketler hakkındada da bilginiz vardır fakat ilk defa duyuyordanız python nedir ve pip kurulumu ve kullanımı paylaşımlarımı da inceleyebilirsiniz. Virtualenv python'un bilgisayarınızda kurulu olduğu dizine paketleri indirip kurmak yerine sizin projenizde sanal bir python geliştirme ortamı oluşturur ve indireceğiniz paketleri sistemden bağımsız olarak sizin proje dizininize indirir. Artık projeniz sistemdeki python sürümü ve paket sürümlerinden izole olarak sanal oluşturduğunuz ortamda çalışmaya devam eder. Siz bir güncelleme yapmadığınız sürece kurulu olan sürümler ile hayatına devam edecektir.
Windows 10 Virtualenv Kurulumu
Windows 10 işletim sisteminizde pip üzerinden kurulum işlemini aşağıdaki komut ile yapabilirsiniz. Kurulum yapacağınız pip hangi python sürümüne bağlı ise (2 veya 3) o python sürümü için virtualenv kurulumu yapmış olacaksınız.
pip install virtualenv
Kurulum işlemi başarılı bir şekilde tamamlanırsa aşağıdaki komut ile sisteminizde yüklü olan virtualenv sürümünü öğrenebilirsiniz.
virtualenv --version
Ubuntu 20.04 LTS Virtualenv Kurulumu
Ubuntu üzerinde virtualenv paketini yüklemek için iki seçeneğiniz mevcut, birincisi python paket yöneticisi pip kullanarak kurulum işlemini gerçekleştirmeniz, ikincisi ise Ubuntu paket yöneticisi apt kullanarak kurulum işlemini gerçekleştirmenizdir.
# python 2 için pip kullanarak kurulum yapmak için
pip install virtualenv
# python 3 için pip3 kullanarak kurulum yapmak
pip3 install virtualenv
# apt kullanrak python 2 için virtualenv kurmak
sudo apt install python-virtualenv
# apt kullanarak python 3 için virtualenv kurmak
sudo apt install python3-virtualenv
Kurulum işleminde herhangi bir problem olmadan kurulumu gerçekleştirebilmişseniz ya da sisteminizde kurulu olan virtualenv sürümünü aşağıdaki komut ile görebilirsiniz.
virtualenv --version
macOS Catalina Virtualenv Kurulumu
macOS işletim sistemi de unix tabanlı olduğu için Ubuntu'daki pip üzerinden kurulum yöntemini kullanarak kurulum işleminizi gerçekleştirebilirsiniz. macOS için pip sisteminizde yüklü değil ise bu linkten kurulumu yapabilirsiniz.
Virtualenv Kullanımı
Kurulum işleminizi gerçekleştirdikten sonra projenizi geliştireceğiniz klasörü oluşturdunuz ve terminalde de o dizine geldikten sonra aşağıdaki komutu kullanarak sanal ortamınızı oluştumanız gerekiyor. Komut "virtualenv dizin-adı" olarak kullanılıyor, örnek olarak deneme adlı projem için venv adında sanal bir python ortamı oluştumak istiyorsam;
gokmen@eskin -> deneme$ virtualenv venv
komutunu kullanmam benim için venv adlı sanal python ortamımı oluşturacaktır. Bu aşamadan sonra yine deneme dizinindeyken sanal ortamımı aktif hale getirmem gerekiyor. Aktif hale getirmeden pip ile paketler kurarsam pip yine sistemime paketleri indirip kuracaktır, aktif edip pip ile paket kurarsam pip izole ortamıma paketleri indirip kuracaktır. virtualenv ortamımı Ubuntu ve macOS işletim sistemlerinde aktif etmek için;
gokmen@eskin -> deneme$ source venv/bin/activate
# ya da
gokmen@eskin -> deneme$ . venv/bin/activate
Windows 10 işletim sistemi kullanıyorsanız;
C:\Users\gokmen\Documents\deneme> .\venv\Scripts\activate.bat
Aktive etme işlemi başarılıysa kullandığınız komut penceresinin başında virtualenv dizininizi parantez içerisinde görebilirsiniz. Örneğin Windows 10'da komut istemi ekranınızda şu şekilde görürüsünüz;
(venv)C:\Users\gokmen\Documents\deneme>
Ya da Ubuntu ve macOS için aşağıdaki komut ile kullanımda olduğunuz python'un hangi dizinde olduğuna erişebilirsiniz, çıktı venv klasörünü işaret edecektir.
(venv)gokmen@eskin -> deneme$ which python
(venv)gokmen@eskin -> deneme$ /home/gokmen/deneme/venv/bin/python
Artık sanal ortamımızı da aktive ettikten sonra pip kullanarak istediğiniz paketleri kurabilirsiniz, kurduğunuz paketler sadece o projeniz için virtualenv ortamınıza kurulmuş olacaktır.
(venv)gokmen@eskin -> deneme$ pip install django
Peki proje ile ilgili çalışmayı bitirdiniz ya da başka bir proje üzerinde çalışmaya devam edeceksiniz. Bu durumda kesinlikle sanal ortamınızı pasife çekmeniz gerekiyor. Terminalinizi kapatıp açmanız da yeterli olacaktır ama aşağıdaki komut ile hiç komut istemcinizden çıkmadan bu işlemi yapabilirsiniz.
(venv)gokmen@eskin -> deneme$ deactivate
# (venv) yazısı otomatik olarak kalkacaktır
gokmen@eskin -> deneme$
Yazının sonunda size kısa bir önerim var, eğer git kullanıyor iseniz virtualenv klasörünüzü hariç tutun ve aşağıdaki komut ile kurulu olan paketleri kayıt altına alın;
(venv)gokmen@eskin -> deneme$ pip freeze > requirements.txt
İleri de başka bir bilgisayarda ya da aynı bilgisayarda farklı bir dizinde virtualenv kurup, tekrar aynı paketlere ve ortama ulaşmış olacaksınız ve bu sizin için uzun vadade rahat bir ortam sağlayacaktır. Dolayısıyla proje gerekliliklerini yukarıdaki gibi bir text dosyasında tutarsanız, örneğin başka bir bilgisayarda git üzerinden kaynak kodlarınızı aldıysanız aşağıdaki komutlar ile tekrar aynı ortamı oluşturabilirsiniz.
gokmen@ubuntu -> deneme$ virtualenv venv
gokmen@ubuntu -> deneme$ ./venv/bin/activate
(venv)gokmen@ubuntu -> deneme$ pip install -r requirements.txt
ve işte tekrar aynı paket sürümleninin olduğu virtualenv ortamına sahipsiniz ve geliştirmeye, güncellemeye kaldığınız yerden devam edebilirsiniz.