Python üzerinde sanal ortam

Ali Orhun Akkirman - Jul 15 '20 - - Dev Community

Python üzerindeki en büyük problemlerden birisi olan 2.x mi yoksa 3.x sürümünü mü kullanılacağı soru işareti 2020 yılının 1 Ocak'ında tarihe karışarak artık Python2'ye destek olunmayacağı belirtilerek Python3 üzerinde geliştirme yapılmasını olumlu kıldı.

Tabi ki 3.x sürümleri de kendi aralarında farklı paketlere farkı şekilde destek verebilmekte, farklı paketler çeşitli paket bağımlılıklarına sahip olduğu için bu yapıyı daha iyi anlamak ve kullanmak oldukça önemli.

Bu yazımızda aslında Python üzerinde sanal ortam oluşturmaya giriş yapacağız.

Sanal ortam paketinin kurulumu

Öncelikle Python üzerinde sanal ortam kurabilmek için Debian tabanlı sistemlerde aşağıdaki paketi kurmanız gerekmektedir. Tabi ki bir de ileride çok lazım olacak paket yönetim aracı olan pip'i de kurabiliriz.

sudo apt install python3-venv python3-pip
Enter fullscreen mode Exit fullscreen mode

Sanal ortam oluşturma

Sanal ortam oluşturmadan önce bu sanal ortamın dosya sistemi üzerinde nerede olacağını belirtmeniz gerekiyor. Herhangi bir yerde yetkilere sahip olduğunuz sürece oluşturabilirsiniz. İsterseniz /usr/share/aciklab/ gibi yerlere koyabilirsiniz, isterseniz de test ortamı ve kendiniz kullanacaksanız bulunduğunuz yol üzerinde de kullanabilirsiniz.

Örneğin sanalortamlar diye bir klasör oluşturup onun altında farklı ortamlar oluşturabiliriz. Bunun için bulunduğunuz herhangi bir yerde bir klasör oluşturabilirsiniz.

mkdir sanalortamlar
Enter fullscreen mode Exit fullscreen mode

Daha sonra bu klasör içinde farklı 2 ortam oluşturabilirsiniz. Tabi ki daha fazla da oluşturabilirsiniz:

python3 -m venv sanalortamlar/ortam1
python3 -m venv sanalortamlar/ortam2
Enter fullscreen mode Exit fullscreen mode

İlgili sanal ortamların içeriğine "ls -l" komutu ile bakabilirsiniz. Her birinde daha sonradan kendine özgü kütüphaneler ve python sürümleri kullanabiliriz.

Sanal ortamı kullanabilme

Sanal ortamları oluşturmanız demek onları hemen kullandığınız anlamına gelmez. Hatta bu işlemleri yaptığınızda sanal ortamları kullanmış olmuyorsunuz. Kullanabilmek için aşağıdaki komut ile o ortamı aktif etmeniz gerekmektedir.

source sanalortamlar/ortam1/bin/activate
Enter fullscreen mode Exit fullscreen mode

Bu komut ile birlikte artık sanal ortam kullandığını kabuk üzerinde aktif hale gelecektir. Ama tüm sistem üzerinde veya kendi oturumunuz üzerinde değil. Sadece kullandığınız kabuk üzerinde aktif hale gelecektir. Hatta kabuğun başında aşağıdaki gibi bir (ortam1) ifadesi yer alacaktır:

(ortam1) alorak@makineadi:~/isler/
Enter fullscreen mode Exit fullscreen mode

Artık bu kabuk üzerinde çalıştıracağınız tüm işlemler bu ortam üzerindeki python ve modülleri üzerinde çalışacaktır. Yani çok kısa bir örnek vermek gerekirse pip ile kuracağınız paramiko kütüphanesi sadece bu ortam ayakta iken çalışabilecektir.

Bu ortamda yapacağınız paket yüklemeleri gerçek ortamınızı bozmayacağı için rahatlıkla çalışmalarınızı yapabilirsiniz. Tabi ki sanal ortamda olduğunuza dikkat ederek.

Sine scientia ars nihil est

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .