25/12/2019 · centos7 python3 virtualenv pip

Centos7 + Python 3 + Virtualenv

90 yıllarda geliştirilmeye başlanan Python son yıllarda en yaygın kullanılan programlama dillerinden biridir. Statista'nın Ocak 2019 yayımladığı raporda %26 ile ilk sırada yer alan Python programlama dili en popüler dil olarak gösterilmiştir.
alt

Dünya genelinde Python programlama dilinin bu denli yaygın kullanılmasının sebepleri arasında başı "basit bir söz dizimine sahip olması" çekmektedir. Bunun yanında bir program geliştirirken ihtiyaç duyacağınız birçok kütüphaneye sahip olması geliştiriciler tarafından tercih edilme sebebidir.

Bu yazıda 1 Ocak 2020 itibariyle Python 2.7.x sürümünün emekliye ayrılacak olmasından dolayı Python 3 için birbirinden yayıltılmış geliştirme ortamlarının oluşturulması anlatılacaktır. Bu sayede her proje için ihtiyacınız olan kütüphaneler ve çevresel değişkenler sadece o projeye özgü kullanılabilecektir.

Temiz (Fresh) bir CentOS 7.x üzerinde EPEL repo, Python3, Pip, Virtualenv paketlerini aşağıdaki gibi sırasıyla takip ederek geliştirme ortamını yapılandıralım.

Öncelikle Python'u yüklemek için EPEL reposunu bilgisayarımıza yüklüyoruz. EPEL reposu sayesinde CentOS varsayılan repolarında olmayan birçok paketi bilgisayarınıza hızlı bir şekilde yükleyebilirsiniz.

yum install epel-release

EPEL reposunu yükledikten sonra Python ve python kütüphanelerini yükleyebileceğimiz/güncelleyebileceğimiz Pip paket yöneticisinin kurulumlarını gerçekleştiriyoruz.

yum install python3 python-pip  

Python ve pip kurulumu tamamlandıktan sonra Python'da yalıtılmış çalışma ortamları oluşturmamıza olanak sağlayan Virtualenv paketini yine Pip paket yöneticisi yardımıyla bilgisayarımıza kuruyoruz.

pip install virtualenv  

Virtualenv kurulumu gerçekleştirildikten sonra project1 isminde bir çalışma ortamı yaratmak için aşağıdaki komutu kullanıyoruz. Ben project1 çalışma ortamını /root dizini altında oluşturdum. Siz herhangi bir dizinde oluşturabilirsiniz.

cd /root  
virtualenv -p python3 project1  
ll project1  

ll komutuyla project1 dizini içindekileri listelediğimizde aşağıdaki ekran çıktısını almanız gerekiyor. Burada bin include lib gibi python kütüphanelerinin konumlanacağı dizinleri görebilirsiniz. alt

Yalıtılmış bir çalışma ortamını oluşturduk, şimdi bu çalışma ortamını aktif ederek projeye başlayabilirsiniz. ls komutuyla proje içindeki dosyaların aktif etmeden önce project1 isimli dizin altındaki dosyalar ile aynı olduğunu kontrol edebilirsiniz.

cd project1 && source bin/activate  
ls  

Ekran çıktısı aşağıdaki gibi olmalıdır.
alt

Sonuç olarak CentOS 7.x üzerinde işletim sisteminin mevcut Python sürümü ve çevresel değişkenlerinden bağımsız olarak bir proje ortamı oluşturduk. Normalde CentOS üzerinde varsayılan olarak Python 2.7.5 sürümü yüklüyken proje ortamını oluşturken kullandığımız virtualenv -p python3 project1 -p python3 parametresiyle çalışma ortamımızın varsayılan python sürümün 3 olarak tanımlamış olduk. Python ile geliştirilen projelerde kütüphane bağımlılıkları ve çevresel değişkenler önem arz ettiğinden virtualenv ile her projede ihtiyacınız olan kütüphaneleri kolaylıkla yönetebilir, çevresel değişkenleri projeye özgü yapılandırabilirsiniz.

Virtualenv ile aktif ettiğimiz yalıtılmış bölgede python sürümünü kontrol ettiğimde Python 3.6.8 sürümünün tanımlı olduğunu görüntülemekteyim.
alt

deactivate komutuyla aktif ettiğimiz projeden yani yalıtılmış alandan çıkış yapıp işletim sistemi seviyesinde python sürümünü kontrol ettiğinizde python 2.7.5 sürümünün tanımlı olduğunu görüntülemiş olacaksınız. alt