Ubuntu/Debian’da virtualenv ile Python Sanal Ortamları Oluşturma ve Yönetme

Python projelerini yönetmek çoğu zaman bağımlılıklar ve farklı paket sürümleri arasında çatışmalara yol açabilir.  Virtualenv’in devreye girdiği yer burasıdır.  Virtualenv, kullanıcıların izole Python ortamları oluşturmasına olanak tanıyan, her projenin diğerlerinden bağımsız olarak kendi bağımlılıklarına ve paketlerine sahip olmasını sağlayan bir araçtır.  Bu eğitim, Python projeleriniz için temiz ve kontrollü bir çalışma alanı sağlayarak Ubuntu/Debian Linux sistemlerinde virtualenv ortamı oluşturma adımlarında size rehberlik edecektir.

 

virtualenv’i kurma

Sanal ortamlar oluşturmaya başlamadan önce sisteminizde virtualenv’i kurmanız çok önemlidir.  Bu bölümde kurulum süreci ve başlamak için ilk adımlar ele alınacaktır.

  1. virtualenv’i yükleme: Öncelikle sisteminizde Python’un kurulu olduğundan emin olun.  Bu, terminalinizde python –version veya python3 –version çalıştırılarak yapılabilir.  Python kurulu değilse Ubuntu’nun paket yöneticisini kullanarak kolayca kurabilirsiniz.  Daha sonra aşağıdaki komutları yürüterek virtualenv’i yükleyin:
    $ sudo apt update
    $ sudo apt install python3-virtualenv

    Alternatif olarak, eğer pip (Python’un paket yükleyicisi) kuruluysa, pip install virtualenv ile pip kullanarak virtualenv’i kurabilirsiniz.  Bu, virtualenv’in son sürümünü kullanmak isteyen kullanıcıların tercih ettiği bir yöntemdir.

  2. Yeni Bir Sanal Ortam Yaratmak: Virtualenv yüklendiğinde artık yeni bir yalıtılmış ortam oluşturabilirsiniz.  Ortamınızın kurulmasını ve çalıştırılmasını istediğiniz dizine gidin:
    $ virtualenv MyPythonProject

     



    Burada MyPythonProject sanal ortamınızın adıdır.  Buna venv adını vermek yaygın bir gelenektir, ancak tercih ettiğiniz adı seçmekte özgürsünüz.  Bu komut, Python çalıştırılabilir dosyalarını ve pip kütüphanesinin bir kopyasını içeren MyPythonProject adında bir dizin oluşturur.

  3. Sanal Ortamı Etkinleştirme: Sanal ortamı kullanmaya başlamak için onu etkinleştirmeniz gerekir.  Ortamın etkinleştirilmesi PATH’inizi geçici olarak ayarlar ve kabuğunuzu ortamın paketlerini ve ayarlarını kullanacak şekilde ayarlar.  Aşağıdakileri kullanarak ortamınızı etkinleştirin:
    $ source MyPythonProject/bin/activate

    Etkinleştirildiğinde, terminal isteminiz büyük olasılıkla etkinleştirilen ortamın adını gösterecek şekilde değişecektir.  Bu, çalıştırdığınız tüm Python komutlarının artık ortamın Python yorumlayıcısını ve yapılandırmasını kullanacağını gösterir.

     

    Activating the Virtual Environment
    Sanal Ortamı Etkinleştirme

virtualenv’le çalışmak

  1. Paketleri Yükleme ve Ortamı Test Etme: Ortamınız etkinleştirildiğinde artık Python paketlerini ortamınıza yükleyebilirsiniz.  Örneğin, Flask’ı yüklemek için şunu çalıştırmanız yeterlidir:
    (MyPythonProject) $ pip install flask

    Bu paketler sanal ortamda yerel olacak ve sistem genelindeki Python kurulumunuza veya diğer sanal ortamlara müdahale etmeyecektir.

    Installing Packages and Testing the Environment
    Paketleri Yükleme ve Ortamı Test Etme

    Ortamınızın doğru ayarlanıp ayarlanmadığını test etmek için yüklü paketleri içe aktaran bir Python betiği oluşturun ve çalıştırın.  Komut dosyası herhangi bir sorun olmadan yürütülürse ortamınız geliştirme için hazırdır.

  2. Sanal Ortamı Devre Dışı Bırakma: Sanal ortamda çalışmayı tamamladığınızda aşağıdaki komutu çalıştırarak onu devre dışı bırakabilirsiniz:
    (MyPythonProject) $ deactivate

    Bu, terminal ayarlarınızı normale döndürecek ve sisteminizin varsayılan Python yorumlayıcısını kullanacaktır.

     

    Deactivating the Virtual Environment
    Sanal Ortamı Devre Dışı Bırakma

Çözüm

Virtualenv, birden fazla proje üzerinde çalışan veya Python’un ve paketlerinin farklı sürümlerini yönetmesi gereken Python geliştiricileri için önemli bir araçtır.  Bu eğitimde özetlenen adımları takip ederek, Ubuntu/Debian sisteminizde sanal ortam oluşturarak daha organize ve çatışmasız bir geliştirme deneyimine olanak tanıyabilirsiniz.  Her ortamın bağımsız olduğunu, dolayısıyla diğer projeleri etkilemeden her projenin kurulumunu gerektiği gibi özelleştirebileceğinizi unutmayın.

 

Sıkça Sorulan Sorular (SSS)

  1. virtualenv nedir?Virtualenv, ayrı proje bağımlılıklarına izin veren izole Python ortamları oluşturmaya yönelik bir araçtır.
  2. Python’da neden virtualenv kullanılmalı??Bağımlılıklarda ve paket sürümlerinde çakışmalar olmadan farklı proje ortamlarının yönetilmesini sağlar.
  3. Ubuntu/Debian’a virtualenv nasıl kurulur?Sudo apt-get install python3-virtualenv veya pip install virtualenv’i kullanın.
  4. Virtualenv kullanarak nasıl sanal ortam oluşturabilirim?Proje dizininize gidin ve virtualenv venv’i çalıştırın.
  5. Sanal ortam nasıl etkinleştirilir?Terminalde venv/bin/activate komut kaynağını kullanın.
  6. Paketleri sanal ortama yükleyebilir miyim??Evet, o ortamda yerel olacak paketleri kurmak için pip kullanın.
  7. Sanal ortamda olup olmadığımı nasıl anlarım??Ortam adı için terminal istemini kontrol edin veya echo $VIRTUAL_ENV kullanın.
  8. Sanal ortam nasıl devre dışı bırakılır?Terminalde devre dışı bırakmayı çalıştırmanız yeterlidir.
  9. virtualenv hem Python 2 hem de 3 ile çalışıyor mu?Evet, virtualenv hem Python 2’yi hem de Python 3’ü destekliyor ancak Python 2, 2020’de kullanım ömrünün sonuna ulaştı.
  10. virtualenv’i farklı projeler için kullanabilir miyim?Kesinlikle.  Her proje için ayrı bir ortam oluşturulması tavsiye edilir.
  11. virtualenv sanal ortamlar oluşturmak için tek araç mı??Hayır, pyenv ve venv gibi başka araçlar da var, ancak virtualenv basitliği ve özellikleri nedeniyle yaygın olarak kullanılıyor.

 

Yazının orijinalini buradan okuyabilirsiniz.