windows 7 etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
windows 7 etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

29 Eylül 2018 Cumartesi

Dlib (C++) Kütüphanesinin Windows'a Kurulumu ve Qt ile Kullanılması

Dlib (C++) Kütüphanesinin Windows'a Kurulumu ve Qt ile Kullanılması


Dlib, yapay öğrenme - makine öğrenmesi (machine learning) algoritmalarını içeren C++ kütüphanesidir ve günlük hayatımızda karşılaştığımız problemleri çözmek için kullanabileceğimiz kompleks yazılımlar geliştirebileceğimiz bir araçtır. Yüz tanıma (face recognition), yüz tespiti (face detection), yüz modelleme (facial landmarks) gibi uygulamaları Dlib kütüphanesi ile kolayca geliştirebilirsiniz. Dlib, C++ programlama dili ile kullanılan bir araç olmasının yanında Python programlama dili ile de kullanılabilmektedir. Python ile kullanmak için kurulumunuzu ona göre yapmanız gerekmektedir. Bu yazımda C++ dili için kurulum yapılacaktır ilerleyen günlerde Python dili için kurulumun nasıl yapıldığını anlatmayı planlıyorum. Aşağıdaki adımları takip ederek Windows işletim sisteminize Dlib kütüphanesinin kurulumunu yapabilir ve Qt ile uygulama geliştirebilirsiniz.


Adım 1. Dlib kütüphanesinin en son yayınlanan versiyonu sitesinden indirilir (Bu yazıda 19.16 versiyonu indirildi). Dlib, hızlı gelişim gösteren bir kütüphane olduğunda sürekli yeni versiyonları çıkmaktadır.



Adım 2. İndirilen sıkıştırılmış dosya (dlib-19.16.zip) çıkarılır.


Adım 3. dlib-19.16 klasörü içerisine "build" adında boş bir klasör oluşturulur.


Adım 4.1. Kurulum için cmake-gui'den faydalanacağız. Öncelikle sitesinden işletim sisteminizin 32 bit ya da 64 bit olmasına göre .zip uzantılı cmake dosyası indirilir.


Adım 4.2. İndirilen sıkıştırılmış dosya çıkarılır.


Adım 4.3. Çıkartılan klasör içerisinde bulunan "bin" klasörünün içerisinde yer alan "cmake-gui.exe" çift tıklanarak açılır.


Adım 5.

  • "Where is the source code:" yazan bölümde indirmiş olduğumuz dlib-19.16 klasöründe bulunan "dlib" klasörü "Browse Source ..." butonuna basılarak seçilir.
  • "Where to build the binaries:" yazan bölümde indirmiş olduğumuz dlib-19.16 klasöründe sonradan oluşturduğumuz "build" klasörü "Browse Build ..." butonuna basılarak seçilir.

ve aşağıda yer alan "Configure" butonuna basılır.


Adım 6.
(1. yol)
"Configure" butonuna bastıktan sonra yeni bir pencere açılacaktır. Bu pencerede derleme işlemi için kullanılacak derleyicinin seçilmesi istenmektedir. Ben daha önce bilgisayarıma Qt'nin MinGW derleyicisi ile kurulumunu yaptığım için burada yine tanımlı yerel (default native compiler) MinGW derleyicisini seçiyorum. Windows'a Qt Kurulumu için yazımı buradan inceleyebilirsiniz.


(2.yol) "Specify native compilers" seçeneği ile yerel derleyicilerinizi kendiniz belirleyebilirsiniz. Burada eğer Qt kurulumu yaptıysanız " Qt > Qt5.11.1 > Tools > mingw530_32 > bin " klasöründe yer alan gcc.exe C derleyicisi olarak g++.exe C++ derleyicisi olarak seçilebilir.



Adım 7. Derleyiciyi seçtikten sonra konfigürasyon işlemi başlayacaktır. "Configuration done" mesajını görene kadar bekleyiniz. Konfigurasyon işlemi sırasında Dlib kütüphanesi ile kullanılabilecek diğer araçların bilgisayarınızda kurulu olup olmadığına bakılır ve sonunda size bunlar hakkında bilgiler verir. Aşağıdaki ekran görüntüsünü inceleyecek olursak bilgisayarımda CUDA ve BLAS araçlarının kurulu olmadığını ve Dlib kütüphanesinin bu araçları kullanamayacağı belirtilmiş. Eğer CUDA kurulumunu önceden yapmış olsaydım Dlib kütüphanesini kullanarak geliştirdiğim algoritmayı GPU üzerinde çalıştırabilecektim. Buradan JPEG ve PNG formatlarındaki resimlerin Dlib ile kullanılabileceği gibi detaylı bilgilere ulaşmak mümkün. Ben sadece bir kaçından bahsettim siz detaylı inceleyebilirsiniz. Burada şimdilik bu konfigurasyonun yeterli olduğunu düşünerek "Generate" butonuna basıyoruz. "Generating done" mesajını gördüysek kuruluma başarılı bir şekilde devam ediyoruz demektir.



Adım 8. Komut satır programı (cmd, terminal) açılır ve derleme işleminin gerçekleştirildiği "build" klasörüne geçilir.


mingw32-make


komutu çalıştırılır. Bu komutu hızlı derleme için mingw32-make -j4 formatında da yazabilirsiniz. Burada "-j4" ifadesiyle derleme esnasında bilgisayarın 4 çekirdeğininde kullanılması gerektiği belirtilir. Kullanılacak çekirdek sayısını arttırıp azaltabilirsiniz. Ancak bu şekilde birden fazla çekirdek kullanılarak derleme yapıldığında hata alınabilmektedir. Benim tavsiyem tek çekirdek ile derleme işlemini yapmanız.



Adım 9. dlib-19.16 klasörü içerisinde "include" adında boş bir klasör oluşturuyoruz ve "dlib" klasörünü bu boş klasör içerisine taşıyoruz.



Adım 10. Sisteminize Qt kurulumu yaptıktan sonra Qt Creator açılır ve yeni proje oluşturulduktan sonra proje dosyasına (.pro uzantılı dosya) dlib kütüphanesinin derlendiği klasörün yolu aşağıdaki gibi tanımlanır.

Kurulum esnasında CUDA ve BLAS ile derleme yapılmadıysa sadece Dlib kütüphanesinin derlendiği klasörün yolunu tanımlamamız yeterlidir. CUDA ve BLAS ile derleme yapıldıysa Dlib kütüphanesinin derlendiği klasörün yolu ile CUDA ve BLAS kütüphanelerinin yolunu da tanımlamamız gerekmektedir.

INCLUDEPATH += C:\Users\Eyyup\Downloads\dlib-19.16\include
LIBS += -L"C:\Users\Eyyup\Downloads\dlib-19.16\build"
LIBS += -ldlib

Qt proje dosyasında (.pro) kütüphane tanımlanırken -L(kütüphane yolu), -l(kütüphane) şeklinde önekleri kullanılmaktadır.


(Kısa yol) Yukarıda anlatılan yöntemle proje dosyasına dlib kütüphanesinin derlendiği klasör yolunu tanımladığınızı ve bu şekilde onlarca proje oluşturduğunuzu düşünün. Yeni bir dlib versiyonu çıktığında ya da klasörü farklı bir yere taşıdığınızda oluşturduğunuz onlarca projeyi tek tek açarak bu tanımlamaları düzeltmeniz gerekecektir. Bu sıkıntılı durumu yaşamamak için yukarıda yapılan tanımlar bir text dosyası açılarak buraya yazılır. Daha sonra ".txt" olan dosya uzantısı ".pri" olarak değiştirilir ve bu dosya aşağıda tanımlandığı gibi Qt proje dosyasına (.pro) eklenir.

include(C:\Users\Eyyup\Downloads\dlib-19.16\dlib_library_path_19_16.pri)





27 Ağustos 2018 Pazartesi

Python Sanal Ortam (virtualenv, virtualenvwrapper) Kurulumu/ Kullanımı

Python Sanal Ortam (virtualenv, virtualenvwrapper) Kurulumu/ Kullanımı


Neden Sanal ortam kurmaya ihtiyaç duyduğumuza önceki pip/pip3 nedir ? yazısında değinmiştim. Python programlama dilinde genel olarak Python2 ve Python3 olmak üzere 2 genel versiyon vardır. Bu versiyon farklılıkları aslında gelişmekte olan tüm programlarda, kütüphanelerde mevcuttur. Örneğin bir uygulamanız bir kütüphanenin 1.0 versiyonuna ihtiyaç duyarken başka bir uygulamanız aynı kütüphanenin 2.0 versiyonuna ihtiyaç duymaktadır ve aynı anda aynı kütüphanenin 2 farklı versiyonunu çalıştırmamız mümkün olmadığından sanal ortamlara olan ihtiyaç tam bu noktada ortaya çıkmaktadır. Sanal ortamlar kurarak birbirinden bağımsız aynı kütüphanelerin farklı versiyonlarını kullanmak mümkündür. Sanal ortam kurmak için bir kaç seçenek mevcuttur. Ben burada virtualenv ve bu sanal ortamın kullanımını kolaylaştıran virtualenvwrapper'dan bahsedeceğim.

virtualenv birbirinden bağımsız (yalıtılmış,izole) Python ortamları oluşturmak için bir araçtır. virtualenv diğer sanal ortamlarla kütüphanelerini paylaşmayan kendi kurulum dizinine (klasörüne) sahip sanal ortamlar oluşturur.

virtualenvwrapper virtualenv aracını daha kolay bir şekilde sanal ortam oluşturma, silme, yönetme amacıyla kullanmamızı sağlayan başka bir araçtır.



1. Bilgisayarınıza virtualenv/virtualenvwrapper Kurulu Olup Olmadığının Kontrol Edilmesi

İşletim sisteminize virtualenv ve virtualenvwrapper araçlarının yüklü olup olmadığını aşağıdaki komutları sırasıyla çalıştırarak kontrol edebilirsiniz.

virtualenv --version

virtualenvwrapper --version



2. virtualenv/virtualenvwrapper Kurulumu

Eğer sisteminizde bu araçlar kurulu değilse aşağıdaki komutları çalıştırarak kurulumu gerçekleştirebilirsiniz.

pip install virtualenv

pip install virtualenvwrapper




pip install virtualenvwrapper-win



Sadece virtualenvwrapper kurulumu yaptığınızda virtualenv kurulumu da otomatik yapılmaktadır. Tekrar versiyon öğrenmek için kullandığımız komutu çalıştırdığımızda muhtemelen aşağıdaki ekran görüntüsüne benzer bir sonuç alacaksınız. Burada 16.0.0 versiyonu kurulmuştur.


virtualenvwrapper için versiyon kontrolü yapmadan önce yapmamız gereken birkaç işlem mevcuttur. Root klasörü (/) içerisinde virtualenvwrapper.sh shell betiğinin (script) nerede olduğuna bakıyoruz ve /usr/local/bin/ dizininde olduğunu görüyoruz.



virtualenvwrapper bir takım shell fonksiyonlarından oluşmaktadır ve bu sebeple shell başlangıç dosyasına (startup file) aşağıdaki satırları eklememiz gerekmektedir. Shell başlangıç dosyaları .bashrc veya .profile ismindeki dosyalardır. Bu dosyaların adının önünde nokta (.) bulunduğundan bu dosyalar linux işletim sisteminde gizli dosya olarak algılanmaktadır. Bu tür dosyalar genelde konfigurasyon bilgileri içerdiğinden genelde gösterilmezler. Bu dosyaları görmek için Home (~) dizininde ctrl+H kısayol tuşlarına basmanız gerekir. Bu kısayol tuşlarına bastığımızda aşağıdaki ekran görüntüsüne benzer bir sonuç elde ederiz ve aradığımız .bashrc burada yer almaktadır. .bashrc siz terminali her açtığınızda çalıştırılan shell komut dosyasıdır.



export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/my_projects
source /usr/local/bin/virtualenvwrapper.sh


1
2
3
export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/my_projects
source /usr/local/bin/virtualenvwrapper.sh



export ifadesi ile WORKON_HOME ve PROJECT_HOME değişkenleri tanımlandıkları yerin dışında da kullanılabilir hale geldiler. source ifadesi ile shell fonksiyonlarının yer aldığı virtualenvwrapper.sh bir kez çalıştırılır. İsterseniz # ile bu satırların üzerine unutmamanız için yorum yazabilirsiniz. .bashrc kaydedildikten sonra başka bir değişiklik yapılmadan kapatılır ve aşağıdaki komut ile .bashrc bir kez çalıştırılır.


source ~/.bashrc


yapılan işlemlerden sonra virtualenvwrapper'ın versiyonunu öğrenmemizi sağlayan komut tekrardan çalıştırılır. Eğer virtualenvwrapper hakkında bilgilerin yer aldığı bir sonuç ekranı ile karşılaştıysanız buraya kadar yapılan işlemlerin doğru olduğunu gösterir.


3. Yeni Sanal Ortam Oluşturma : mkvirtualenv

Yeni sanal ortam oluşturmak için kullanılan mkvirtualenv komutunun kullanımı aşağıdaki gibidir:


mkvirtualenv yeni_sanal_ortam_adi


Yeni sanal ortam oluştururken python 2 ya da python 3 seçimi yapmamız mümkündür. İlgili dökümana buradan ulaşabilirsiniz ya da virtualenv --help komutunu çalıştırarak ulaşabilirsiniz.



4. Python versiyonuna Göre Yeni Sanal Ortam Oluşturma

Python2 için yeni sanal ortam oluşturma


mkvirtualenv yeni_sanal_ortam_adi -p python2


Python3 için yeni sanal ortam oluşturma


mkvirtualenv yeni_sanal_ortam_adi -p python3



5. Mevcut Sanal Ortamı Kapatma : deactivate

mevcut sanal ortam içerisindeyken aşağıdaki komut çalıştırılarak sanal ortamdan çıkış yapılır.


deactivate



6. Mevcut Sanal Ortama Geçiş Yapma : workon

daha önceden oluşturulmuş sanal ortama geçiş yapmak için aşağıdaki komut çalıştırılır.


workon sanal_ortam_adi



7. Sanal Ortama Kurulan Paketlerin Listelenmesi : lssitepackages

sanal ortama kurulan paketleri listelemek/görüntülemek için aşağıdaki komut çalıştırılır.


lssitepackages



8. Oluşturulan Sanal Ortamların Listelenmesi : lsvirtualenv

oluşturmuş olduğunuz tüm sanal ortamları listelemek için aşağıdaki komut çalıştırılır.


lsvirtualenv



9. Mevcut Sanal Ortamın Silinmesi : rmvirtualenv

oluşturmuş olduğunuz sanal ortamı silmek için aşağıdaki komut çalıştırılır.


rmvirtualenv sanal_ortam_adi




25 Ağustos 2018 Cumartesi

Python Pip Nedir ? Python Pip3 Nedir ? Nasıl Kurulur ?

Python Pip Nedir ? Python Pip3 Nedir ? Nasıl Kurulur ?


Python programlama diliyle yeni tanışanların sıkça karşılaşacakları bir komuttur, pip. Kimisi merak edip araştırmıştır nedir bu pip diye kimisi de bir takım Python kütüphanelerini (paketlerini) kurmak için ne olduğunu bilmeden birçok kez çalıştırmıştır. Bir de pip3 var... Peki pip nedir ? Pip3 nedir ? Aralarında nasıl bir fark vardır ? Hangi durumda pip, hangi durumlarda pip3 kullanmalıyız bu yazıda elimden geldiğince anlatmaya çalışacağım. Öncelikle pip ve pip3 komutlarını PyPI sitesinde yer alan Python paketlerini bilgisayarımıza kurmak için kullanıyoruz. PyPI (The Python Package Index) Python programlama dili için yazılım deposudur. Kendi yazmış olduğunuz Python kodlarını buradaki talimatları takip ederek PyPI'da paylaşabilirsiniz.


1. Bilgisayarınıza Python Kurulu Olup Olmadığının Kontrol Edilmesi

PyPI yazılım deposundan paket kurulumu yapabilmek için işletim sisteminizde Python kurulu olması gerekmektedir. Linux işletim sistemlerinde Python kurulu gelmektedir. İşletim sisteminizde Python'un kurulu olup olmadığını aşağıdaki komutu çalıştırarak anlayabilirsiniz.


python --version


Bu komutu çalıştırdığınızda 4 farklı durumla karşılaşabilirsiniz.

1. Python kurulu değildir.

Eğer Python kurulu değilse " 'python' iç ya da dış komut, çalıştırılabilir program ya da toplu iş dosyası olarak tanınmıyor" şeklinde uyarı alırsınız.

2. Python2 kuruludur.

Eğer Python 2.x.x, ifadesi alıyorsanız örneğin Python 2.7.13 şeklinde bir sonuç döndüyse işletim sisteminizde Python2 kuruludur. Ancak bu sonuç sadece Python2 kurulu olduğunu doğrulamaz aynı zamanda Python3'de kurulu olabilir.

3. Python3 kuruludur.

Eğer Python 3.x.x, ifadesi alıyorsanız örneğin Python 3.5.3 şeklinde bir sonuç döndüyse işletim sisteminizde Python3 kuruludur. Bu sonuç sadece Python3 kurulu olduğunu doğrular.

4. Hem Python2 hem Python3 kuruludur.

Eğer yukarıdaki komutu çalıştırdığınızda Python2 sonucu dönüyorsa bilgisayarınızda hem Python2 hem de Python3 kurulu olma ihtimali vardır. Python2 ile birlikte Python3'ün de kurulu olup olmadığını aşağıdaki komutu çalıştırarak anlayabilirsiniz.


python3 --version


Bu komut bilgisayarınızda eğer yüklü ise Python3 versiyonunu gösterecektir.

Sadece Python2 versiyonunu öğrenmek istiyorsanız aşağıdaki komutu çalıştırmalısınız.


python2 --version


Aşağıdaki ekran görüntüsü Python yüklü olmayan Windows işletim sisteminde python --version komutu çalıştırıldığında elde edilen sonucu göstermektedir.


Eğer Python kurulu değilse Python kurulumu için önceki yazımı takip edebilirsiniz.

Windows'a Python Kurulumu

Aşağıdaki ekran görüntüsü Python3 yüklü olan Windows işletim sisteminde python --version komutu çalıştırıldığında elde edilen sonucu göstermektedir.


Aşağıdaki ekran görüntüsü Ubuntu 16.04 işletim sisteminde python --version ve python3 --version komutları çalıştırıldığında elde edilen sonucu göstermektedir. Daha önce de belirttiğim gibi Linux dağıtımlarında Python2 ve Python3 kurulu olarak gelmektedir.


Aşağıdaki ekran görüntüsü Raspberry Pi 3'de yüklü bulunan bir Linux işletim sistemi olan Raspbian işletim sisteminde python --version ve python3 --version komutları çalıştırıldığında elde edilen sonucu göstermektedir.


2. Bilgisayarınıza Pip Kurulu Olup Olmadığının Kontrol Edilmesi

Windows işletim sistemi için önceki yazımı takip ederek kurulum yaptıysanız pip kurulumu otomatik gerçekleşmiş demektir. Bunu aşağıdaki komutları çalıştırarak test edebilirsiniz.


pip --version

pip3 --version



Burada sadece Python3 kurulu olduğu için hem pip hem de pip3 aynı amaç doğrultusunda Python3 paketlerinin kurulumunda kullanılabilir aralarında bir fark yok.

Aşağıdaki ekran görüntüsünde yukarıdaki komutların Raspberry Pi3'de çalıştırılmasıyla elde edilen sonuç gösterilmektedir.


Burada hem Python2 hem de Python3 kurulu olduğu için pip ve pip3 komutları farklı klasörlere kurulum yapacaktır.

  • pip komutunu kullandığımızda Python2 için Python paket kurulumu gerçekleştirecektir.

  • pip3 komutunu kullanarak Python paket kurulumu gerçekleştirdiğimizde Python3 için kurulum yapılacaktır.

!!!! Uyarı:

Burada hataya düşülebilecek nokta Python3 için paket kurulumu yapmak istediğimizde pip komutu kullanmamız olacaktır.

3. pip/pip3 Kurulumu

Yukarıda bahsedilen pip ve pip3 versiyonlarını öğrenmek için kullanılan komutları çalıştırdığımızda pip veya pip3' ün kurulu olup olmadığını da öğrenebiliriz. Aşağıdaki ekran görüntüsünde Ubuntu 16.04 işletim sisteminde pip --version ve pip3 --version komutlarının çıktıları gösterilmektedir.


Burada pip3 --version komutunu çalıştırdığımızda pip3'ün yüklü olmadığını belirten bir uyarıyla ve pip3'ü hangi komutu çalıştırarak kuracağımızı belirten bir tavsiye çıktısı almaktayız.

  • Linux sistemleri için pip kurulumunu (Python2 için) aşağıdaki komutu çalıştırarak gerçekleştirebilirsiniz.


sudo apt install python-pip


  • Linux sistemleri için pip3 kurulumunu (Python3 için) aşağıdaki komutu çalıştırarak gerçekleştirebilirsiniz.


sudo apt install python3-pip


Diğer Linux işletim sistemlerine pip/pip3 kurulumu için buradaki yazıdan faydalanabilirsiniz.

  • Windows işletim sistemleri için pip (Python2 için) ve pip3 (Python3 için) kurulumunu için aşağıdaki adımları takip edebilirsiniz.

Adım 1. get-pip.py Python kodunu bilgisayarınıza indirin.

Adım 2. Bu Python dosyasının bulunduğu klasöre geçerek bu dosyayı aşağıdaki komutta belirtildiği gibi çalıştırınız.


python get-pip.py



4. pip/pip3 Güncelleme

Hem Windows hem de Linux işletim sistemlerinde pip'i (Python 2 için) güncellemek için aşağıdaki komutu çalıştırabilirsiniz.


python -m pip install --upgrade pip


Hem Windows hem de Linux işletim sistemlerinde pip3'ü (Python 3 için) güncellemek için aşağıdaki komutu çalıştırabilirsiniz.


python3 -m pip install --upgrade pip


5. pip/pip3 ile Python Paket Kurulumu Yapma

Python paketlerini bilgisayarımıza kurmak için aşağıdaki formatta pip/pip3 komutları çalıştırılır.


pip install paket_adi

pip3 install paket_adi


Burada "paket_adi" olarak ifade ettiğimiz yere bilgisayarınıza kurmak istediğiniz paket adını yazıyorsunuz.

Örnek olması açısından Python programlama dilinde çok yaygın olarak kullanılan "numpy" paket kurulumunu hem Python2 için hem de Python3 için gerçekleştirelim. Öncelikle Python2 ve Python3 için numpy paketinin kurulu olup olmadığını "import numpy" komutunu çalıştırarak test ediyoruz ve "numpy" adında bir modülün olmadığını belirten bir hata alıyoruz. Aşağıdaki ekran görüntülerini inceleyebilirsiniz.




Önemli Not 1:


Burada "python" komutu yazarak Python2 kodlarını yazdığımız ortama giriş yaptığımıza, "python3" komutu yazarak Python3 kodlarını yazdığımız ortama giriş yaptığımıza dikkat ediniz.


Önemli Not 2:


Python ya da Python3 komutlarını çalıştırarak python kodlarını yazdığımız ortamdan quit() komutu yazarak çıkış yaparız. Bu kod hem Windows hem de Linux işletim sistemlerinde çalışmaktadır. Ayrıca Linux işletim sisteminde bu kod yerine ctrl+D tuş kombinasyonuna basarak bu ortamdan çıkış yapabiliriz. Windows ortamında ise ctrl+Z tuş kombinasyonuna bastıktan sonra Enter tuşuna basarak Python ortamından çıkış yapabilirsiniz.

Aşağıdaki ekran görüntülerinde sırasıyla Python2 ve Python3 için "numpy" paketinin kurulumu ve test edilmesi gösterilmiştir. "import numpy" kodunu çalıştırdığımızda hata almadığımızdan dolayı kurulum başarılı bir şekilde yapılmıştır.





6. pip/pip3 ile Kurulan Python Paketinin Bilgisayarınızdan Kaldırılması (uninstall)

Aşağıdaki komutları çalıştırarak daha önce kurulumunu yaptığınız Python paketlerini bilgisayarınızdan kaldırabilirsiniz.


pip uninstall paket_adi

pip3 uninstall paket_adi


7. Özet

pip ve pip3 komutları PyPI yazılım deposunda yer alan Python paketlerini bilgisayarımıza kolay bir şekilde kurmamızı sağlayan komutlardır. Bu komutları kullanırken sahip olduğumuz Python2 ve Python3 versiyonlarını göz önünde bulundurarak bilinçli bir şekilde istediğimiz Python versiyonu için ilgili pip ya da pip3 komutunu kullanmamız gerekmektedir. Hem Python2 hem de Python3 kurulu olan işletim sistemlerinde pip komutu Python2 paketleri için pip3 komutu Python3 paketleri için kullanılmaktadır. Tüm bu karışıklıklardan kurtulmak için sanal ortamlar (virtual environment) oluşturularak bu sanal ortam içerisinde Python paket kurulumları birbirine karıştırılmadan kurulmalıdır. Python2 için bir sanal ortam, Python3 için başka bir sanal ortam kurmanız işlerinizi kolaylaştıracaktır. İleride farklı kütüphaneleri kullanmak istediğinizde bu sanal ortamlara olan ihtiyacınız kaçınılmaz olacaktır. Çünkü her kütüphane farklı paket versiyonlarına bağlılık duyabilmektedir. Sonraki yazımızda sanal ortam kurumunun nasıl yapılacağını açıklamaya çalışacağım.