Bağımlılık hataları bir geliştiricinin en kötü kabusu olabilir. Sorunları çözmek için boş bir girişimde, bağımlılıkları yükseltmek ve düşürmek için çok zaman harcayabilirsiniz.
Pipenv, Python projeleri için etkili bir bağımlılık yöneticisidir. Hem geliştirme hem de üretimde sanal ortam bağımlılıklarını kurar ve yönetir.
Pipenv, çakışmaları azaltan bağımlılık paketlerinin eklenmesini ve kaldırılmasını yönetir. Ayrıca artırılmış güvenlik önlemleri, sürüm oluşturma seçenekleri ve paket güncellemeleriyle Pip’i iyileştirir.
Neden Virtualenv Üzerinden Pipenv Kullanılmalı?
Virtualenv, en yaygın Python sanal ortam aracıdır ve başka alternatifler de vardır. Bu araçlar yerine Pipenv kullanmanın avantajları şunlardır:
- Sürümleri olmayan paketleri kurabilirsiniz. Sürüm oluşturmama, farklı bağımlılık sürümleriyle çalışırken çakışmayı azaltır.
- Pipenv, Pip ve Virtualvenv’i birleştirir; artık bunları ayrı ayrı kullanmıyorsunuz.
- Pipenv, gereksinimleri.txt dosyasını ortadan kaldırır. Pipenv, bağımlılıkları izlemek için Pipfile ve uygulamayı oluşturmak için Pipfile.lock oluşturur.
- Sanal ortamların hızlı ve kolay kurulumunu destekler.
- Pipenv, Pip’e fazladan dosyadan fazlasını ekler. Sonraki bölümde, PIpenv’i kapsamlı bir paket yapan bazı ek özellikler hakkında bilgi edinin.
Kurulu Paketleri Yükselt
Yeni sürümler varsa kurulu paketleri yükseltmek isteyebilirsiniz. Güncellenmiş sürümler, uygulamanızı optimize etmek için büyük olasılıkla yeni özelliklere sahip olacaktır.
Bağımlılıklarda yeni güncellemeler bulmak için aşağıdaki komutu çalıştırın:
pipenv update –outdated
Yeni güncellemeler varsa, paketleri yükseltmeniz gerekebilir. Paketleri yükseltmenin iki yolu vardır. Her şeyi yükseltebilir veya yalnızca belirli paketleri yükseltmeyi seçebilirsiniz.
Her şeyi yükseltmek için aşağıdaki güncelleme komutunu çalıştırın:
pipenv update
Yalnızca belirli paketleri yükseltmek için kodu aşağıda gösterildiği gibi çalıştırın:
pipenv update <name of package> # upgrades a specified package
Gereksinimler.txt’den Paketleri İçe Aktarma
Pipenv, aynı projede kuruluysa, bir gereksinimleri.txt dosyasının içeriğini içe aktarır. pipenv kurulumunu çalıştırdığınızda , bir Pipfile içe aktarır ve oluşturur.
Pipenv ayrıca bir require.txt dosyasını içe aktarmanıza da olanak tanır. Kurulum sırasında gereksinimleri.txt dosyasının konumunu gösterildiği gibi belirtmeniz gerekir:
pipenv install -r path/to/requirements.txt # imports a requirements file.
Gereksinimler.txt dosyası büyük olasılıkla sürüm numaralarına sahip paketlerle birlikte gelir. Yeni paketleri kaldırabilir ve kurabilirsiniz. Sürümlü paketleri korumayı düşünüyorsanız, aşağıdaki komutu çalıştırın:
pipenv lock –keep-outdated
Pipenv Gelişmiş Güvenlik Özellikleri
Pipenv’deki Pipfile.lock, Pip’teki yeni güvenlik geliştirmelerini optimize eder. Pipfile.lock, indirilen her paketin sha256 karmalarını oluşturur.
Pipenv, güvenliği ihlal edilmiş bir ağdayken zararlı dosyaları indirmemenizi sağlar.
Python Sürümlerini Belirtme
Pipenv ile projeniz için tercih ettiğiniz bir Python sürümünü seçebilirsiniz. Python’un birkaç sürümünü kurup kurmadığınızı belirtmek isteyebilirsiniz.
Python3’ü kullanmak için
pipenv –python 3 # Pipenv will use any version 3 installed
pipenv –python 3.8 # Pipenv will use version 3.8
Bir Python sürümü belirttiğinizde, Pipenv bu Python sürümü için sistemi tarar. Belirtmezseniz, Pipenv makinenizde yüklü olan en son Python sürümünü seçecektir. Pipenv resmi belgelerinden daha fazla bilgi edinin .
Pratik Bir Örnekte Pipenv Kurulumu ve Kullanımı
Ardından, Pipenv’i pratik olarak nasıl kullanacağınızı öğrenin ve kurun.
1. Pipenv’i yükleyin
Pipenv’i kurmadan önce, kurulu tüm bağımlılıkları güncellemeniz gerekir. Güncellemeleri aşağıdaki komutla çalıştırın:
sudo apt-get update
Ardından, aşağıdaki komutu kullanarak Pipenv’i yükleyin:
pip3 install pipenv
Herhangi bir hata yoksa kurulum başarılı olmuş demektir. Kurulumu onaylamak için aşağıdaki komutu kullanarak Pipenv sürümünü kontrol edin:
pipenv –version #output pipenv,version 2022.8.30
Daha önce Pip kullandıysanız, Pipenv Pip sözdizimi ile uyumludur. Örneğin, bir paket kurmak istiyorsanız, pip install yerine pipenv install kullanabilirsiniz .
2. Sanal Ortam Oluşturun
Proje klasöründe projenizin sanal ortamını etkinleştirmeniz gerekir. Pipenv, proje bazında bağımlılıkları yönetir.
Komut satırında , aşağıdaki komutla proje klasörünüze gidin .
cd myproject
Ardından, klasörü bir kod düzenleyicide açın. Ardından, aşağıdaki komutla Pipenv bağımlılıklarını kurun:
pipenv install requests
Başarılı bir kurulum aşağıda gösterildiği gibi olacaktır:
Başarıyla oluşturulmuş bir pipenv sanal ortamını gösteren bir konsol
Pipenv bağımlılıkları, proje için sanal bir ortam oluşturur. Proje klasöründe Pipenv’in Pipfiles’i yaptığını fark edeceksiniz. Ardından, sanal ortamı etkinleştirin.
3. Sanal Ortamı Etkinleştirin
Uygulamanın çalışacağı sanal ortamı etkinleştirmelisiniz. Pipenv sanal ortamına girmek için pipenv kabuk komutunu çalıştırın .
pipenv shell
pipenv kabuğunu çalıştırdıktan sonra komut satırındaki değişikliklere dikkat edin . Klasörün adını taşıyan sanal bir ortam, solda parantez içinde görünür.
(installpipenv) sandra@sandra-Lenovo:~/MUOfiles/installpipenv$
Pipenv ortamınız artık etkin!
Artık tercih ettiğiniz paketleri ve bağımlılıkları kurmaya başlayabilirsiniz. Django kütüphanesini kuralım. Django’yu kurmak için terminalde aşağıdaki komutu çalıştırın.
pipenv install django
Başarılı bir kurulum aşağıdaki resimde gösterildiği gibi görünecektir.
Django’nun başarılı kurulumunu gösteren bir konsol
Pipfile’a tıkladığınızda sürüm numarası olmadan Django kitaplığının kurulu olduğunu göreceksiniz.
[[source]]
url = “https://pypi.org/simple”
verify_ssl = true
name = “pypi”
[packages]
requests = “*”
django = “*”
[dev-packages]
[requires]
python_version = “3.10”
Pipenv tüm bağımlılıklarınızı bu şekilde yönetecektir.
Paket Sürümlerini Belirtme
Pipenv sürümsüz paketler kursa da, tercih edilen bir sürümü yükleyebilirsiniz. Örneğin, Django 4.1.1’i kurmak istiyorsanız, bunu şu şekilde yapabilirsiniz:
pipenv install django==4.1.1 # installs Django 4.1.1
Ancak bu, sürümü kilitleyecektir; daha esnek bir yaklaşım için ~= operatörünü kullanın:
pipenv install django~=4.1.1 # installs Django 4.1.1, 4.1.2 if available, but not 4.2.0
>= kullanarak belirli bir sürüme eşit veya daha büyük herhangi bir sürümü talep edebilirsiniz :
pipenv install django>=3.1.1 # installs Django 3.1.1 and greater
Pipenv Paket Yönetimi için En İyisidir
Pipenv, proje bağımlılıklarını kurmak ve yönetmek için yenilikçi bir araçtır. Sürümsüz bağımlılıkları işleme yeteneği, farklı sürümler arasındaki çakışmayı önler.
Pipenv, Pip ve Venv’in gücünü tek bir komutta birleştirir. Pipfile’lar, eski Python sürümlerinde bağımlılıkları işleyen gereksinimler.txt dosyasının yerini alır. Güvenlik önlemleri, uygulamanızı zararlı indirmelere karşı korur.
Artık geliştirme deneyiminizi optimize etmek ve iyileştirmek için Pipenv’i kullanabilirsiniz. Pipenv, yeni güncellemelerle Python projelerini yönetmek için harika bir araç olmaya devam ediyor.