Ana içeriğe geç

Paket Yönetimi için Pip Python Eğitimi

Python’da dağıtım paketlerini doğru şekilde yönetmenize yardımcı olan güçlü bir araç olan Pip hakkında bilgi edinin.
· 11 dk. oku

Yapay Zeka ile Keşfedin

Eğer bir veri bilimci olmayı düşünüyorsanız, koda ne kadar erken başlarsanız o kadar iyi. Veri profesyonelleri zamanlarının önemli bir kısmını kod yazarak geçirir. Programlama dilleri, veri profesyonellerinin büyük veri yığınlarını analiz etmesini ve anlamlı içgörüler çıkarmasını sağlayan temel araçlardır. 

Veri bilimi için muhtemelen en popüler programlama dili Python’dır. Python; web geliştirme, oyun geliştirme ve elbette veri bilimi gibi birçok yazılım alanında uygulamaları olan, açık kaynaklı, genel amaçlı ve güçlü bir programlama dilidir. 

Python tek başına pek çok harika şeyi yapabilse de, veri profesyonelleri –ve daha genel olarak yazılım geliştiriciler– işleri kolaylaştırmak için sıklıkla ek paketler –diğer adıyla kütüphaneler– kullanır. Bir paket, farklı uygulamalarda ve problemlerde tekrar tekrar kullanılabilen ilişkili dosyalar, modüller ve bağımlılıklardan oluşan bir koleksiyondur.

Python’ın en önemli güçlü yönlerinden biri, iyi belgelenmiş ve kapsamlı kütüphanelerden oluşan geniş kataloğudur. Peki bu kütüphaneler nerede barındırılıyor? İlginizi çeken paketleri nasıl kurar ve yönetirsiniz? 

Bu eğitimde, Python’da paketlerin dünyasına ve Python’un standart paket yükleyicisi olan pip’e giriş yapacaksınız. Pip, bir veri profesyoneli ve programcı olarak karşılaşacağınız çok sayıdaki Python paketinden yararlanmanıza ve onları yönetmenize olanak tanıyan güçlü bir araçtır.

Python’da Paketleri Anlamak

pip’in ne olduğunu anlamak için bir benzetme yapalım. Python’u, kod yazmak için ihtiyaç duyacağınız temel öğeleri içeren güzel ve dengeli bir alet çantası olarak hayal edin. Bilgisayarınıza Python’u satın alıp (kurup) yüklediğinizde, dilediğiniz zaman kullanabileceğiniz geniş bir ek araç (paket) koleksiyonuyla birlikte gelir. 

Python Standart Kütüphanesi olarak adlandırılan şey, günlük programlamada ortaya çıkan birçok probleme standart çözümler sağlayan kapsamlı bir yerleşik paketler setidir. Bu paketler modern Python dağıtımlarıyla birlikte geldiğinden, ek bir kurulum gerektirmeden kullanılabilirler. Yapmanız gereken tek şey, onları çalışma alanınıza “import” etmektir (buna birazdan değineceğiz).

Ancak bazen aradığınız aracı Python’da ya da Standart Kütüphane’de bulamayabilirsiniz. Bu durumlarda, yeni araçları başka yerlerden edinmeniz gerekir. Neyse ki internet, Python geliştiricileri tarafından her türlü amaç için geliştirilmiş yüz binlerce paketi bulabileceğiniz devasa bir mağazadır. 

Ve en güzeli? Bu paketlerin büyük çoğunluğu ücretsizdir. Python’da paketler hakkında daha fazla bilgi edinmek ve kendi paketlerinizi nasıl geliştireceğinizi öğrenmek için Python Paketleri Geliştirme Kursumuza göz atın.  

Üçüncü taraf paketler farklı yerlerde barındırılabilse de en popüler ve kapsamlı depo Python Package Index (PyPi)’dir. 300.000’in üzerinde mevcut Python paketiyle PyPI, Python topluluğu tarafından kabul gören paketlerin bulunduğu dev bir çevrimiçi depodur.

Aradığınız paketi belirledikten sonra, onu kullanmak için bilgisayarınıza indirip kurmanız gerekir. Bunu nasıl yapabilirsiniz?  İşte burada paket yöneticileri devreye girer.

Paket yöneticilerini anlamak: pip

Bir paket yöneticisi (paket-yönetim sistemi olarak da adlandırılır), bir bilgisayarda paketlerin kurulmasını, yükseltilmesini, yapılandırılmasını ve kaldırılmasını tutarlı bir şekilde otomatikleştiren bir araçtır. 

Paket yöneticileri, manuel kurulum ve güncellemeye duyulan ihtiyacı ortadan kaldıracak şekilde tasarlanmıştır; böylece bir paketin çalışması için gereken tüm bağımlılıklarıyla birlikte kurulmasını sağlarlar. Aynı şekilde, paket yöneticileri PyPi ve Anaconda gibi sertifikalı paket depolarında saklanan bilgileri kullandığından, paketlerin bütünlüğünü ve özgünlüğünü güvence altına alırlar.

Python için en popüler paket yöneticisi pip’tir. 2008’de geliştirilen pip (“pip Install Packages” kısaltmasıdır), bugün Python paketlerini ve bağımlılıklarını güvenli bir şekilde kurmak için standart araçtır. Python’un en yeni dağıtımlarının çoğu pip ile önceden kurulu gelir. Python 2.7.9 ve Python 3.4 ve sonraki sürümler pip’i varsayılan olarak içerir.

Pip, birkaç komutla Python paketlerini yönetmenizi sağlayan güçlü ve kullanıcı dostu bir araçtır. Pip, paketleri getirmek için varsayılan depo olarak PyPi’yi kullansa da aşağıdakiler de dahil olmak üzere diğer kaynaklardan da paket kurma yeteneğine sahiptir:

  • Github, Mercurial, Subversion ve Bazaar gibi sürüm kontrol sistemleri.
  • Gereksinim dosyaları. Genellikle Python paketlerinin çalışması için birden fazla pakete ihtiyaç duyulur. Gerekli tüm paketleri tek seferde kurmak için pip, gerekli paketlerin ve doğru sürümlerinin listesini içeren requirements.txt dosyasını kullanır.
  • Dağıtım dosyaları. Bunlar, bir paketin çalışması için gerekli Python paketlerini, modülleri ve diğer kaynak dosyalarını içeren, sürümlendirilmiş, kuruluma hazır dosyalardır. İki biçimde gelirler:
    • Kaynak dağıtımı (“sdist” olarak kısaltılır)
    • Wheel dağıtımı (“wheel” olarak kısaltılır)

pip’i kullanmaya başlayıp paketleri yönetebilmek için önce bilgisayarınızda kurulu olduğundan emin olmanız gerekir. pip’in mevcut olup olmadığını kontrol etmek için komut satırında aşağıdaki ifadelerden birini çalıştırın:

>>pip3 --version

>>pip --version

pip vs pip3 vs pip2

Önceki bölümü okuduktan sonra pip ile pip3 arasındaki farkın ne olduğunu merak ediyor olabilirsiniz. Python 3’ün yayınlanmasının ardından pip, bilgisayarınızın Python 3 ortamında çalışan pip3 komutunu devreye aldı. Aynısı pip2 komutu için de geçerlidir. Dolayısıyla pip’in Python 3 ortamınızda mı yoksa Python 2 ortamınızda mı çalıştığından emin olmak istiyorsanız, sırasıyla pip3 veya pip2 komutlarını kullanın.

Buna karşılık, pip komutu bağlama uygun olan Python ortamında çalışır. Bu, bilgisayarınızda hem Python 2 hem de Python 3 kurulu olduğunda önemlidir. 

Örneğin, MacOS bilgisayarlar bazı temel işlevlerini çalıştırmak için Python 2’ye dayanır.  Eğer bir Python 2 ortamında çalışıyorsanız, pip komutu Python 2 için Python paketlerini kurar, kaldırır, yükseltir veya yönetir. Python 3 ortamında çalışıyorsanız da aynı durum geçerlidir. 

Ancak bu gibi durumlarda, pip komutunu kullanmadan önce hangi Python ortamında çalıştığınızdan emin olmalısınız; aksi halde yanlış ortamda paketleri manipüle edebilirsiniz.  

pip iş başında

Artık pip’in temellerini biliyor ve bilgisayarınıza kurmuş durumdasınız; şimdi nasıl kullanabileceğinize bakalım!

pip ile Paket Kurma

pip’in en yaygın kullanım alanı Python paketlerini kurmaktır. Örneğin, Python’da veri çerçevelerini (data frame) işlemek için standart paket olan pandas’ı kurmak istiyorsanız, bunu yapmanın en basit yolu aşağıdaki komutu çalıştırmaktır:

>>pip install pandas
[...]
Successfully installed pandas

Bir paketi belirli bir sürümde kurmanız gerekebilir. Bu pip ile oldukça kolaydır. Kurmak istediğiniz sürümü belirtmeniz yeterlidir. Diyelim ki pandas’ın 1.4.0 sürümünü kurmak istiyorsunuz:

>>pip install pandas==1.4.0

Sürümlerle ilgili belirli koşulları sağlayan bir paket kurmak isterseniz, pip bazı mantıksal koşulları kullanmanıza izin verir. Örneğin, 1.0.0’a eşit veya daha büyük ve 1.5’ten küçük bir pandas sürümü kurmak istiyorsanız:

>>pip install pandas>=1.0.0,<1.5.0

pip ile scikit-learn Paketini Kurma

Aşağıdaki örnekte, scikit-learn paketini nasıl kurabileceğinizi ve bunun gerekli diğer bağımlılıkları da kuracağını öğreneceksiniz.

pip install scikit-learn

pip install scikit learn

Günlüklerden yalnızca scikit-learn paketinin kurulmadığını fark edebilirsiniz. Bunun nedeni, pip’in scikit-learn’ün bağımlı olduğu diğer paketleri de kurmasıdır. Bu diğer paketlere bağımlılıklar denir.

pip Requirements Dosyaları ile Paket Listesi Kurma

Ortak projelerde çalıştığınızda, ekip üyelerinin aynı paketleri aynı sürümlerle kullanması çok yaygındır. Bunu sağlamak için en iyi yol, paketleri bir gereksinim dosyası üzerinden kurmaktır. Bu genellikle projede kullanılan tüm paketleri ve bunların ilgili sürümlerini içeren bir metin dosyasıdır. 

Pip, bir gereksinim dosyasını kullanarak paketlerin bir listesini tek seferde kurmanıza olanak tanır. Örneğin, projemizde numpy, pandas ve TensorFlow paketlerine ihtiyaç duyuyorsak, bunları istenen sürümleriyle birlikte aşağıda gösterildiği gibi requirements.txt dosyasına ekleyebiliriz:

pip install requirements

requirements.txt dosyasında listelenen paketleri kurmak için tek yapmamız gereken şunu çalıştırmaktır:

>>pip install -r requirements.txt

Takımın geri kalanıyla paylaşmak üzere bir gereksinim dosyası oluşturmak isterseniz aşağıdaki komutu kullanabilirsiniz:

>>pip freeze > requirements.txt

pip ile GitHub’dan Paket Kurma

PyPi’nin yanı sıra, Python paketlerinin barındırılabileceği başka internet kaynakları da vardır. GitHub gibi sürüm kontrol sistemleri, paketlerinizi Python topluluğuyla yükleyip paylaşabileceğiniz paket depoları içerir. 

Diyelim ki GitHub’da barındırılan paketleri kurmak istiyorsunuz. Pip’in tek ihtiyacı, bir GitHub URL’sinde erişilebilir bir çalıştırılabilir dosyadır. Örneğin:

>>pip install git+https://github.com/pypa/sampleproject.git@main

pip ile Paket Yükseltme

Bazen bilgisayarınızda zaten kurulu olan bir paketin daha yeni bir sürümüne yükseltmeniz gerekir. Pip bu süreci son derece kolay hale getirir. Örneğin, pandas’ı en son sürüme yükseltmek istiyorsanız:

>>pip install --upgrade pandas

requirements.txt’de listelenen tüm paketleri yükseltmek isterseniz şunu kullanabilirsiniz:

>>pip install -r requirements.txt --upgrade

pip’in, daha yeni sürüme yükseltmeden önce paketin eski sürümünü otomatik olarak kaldırdığını not etmek önemlidir.

pip ile Paket Kaldırma

Bir paketi kaldırmak pip ile çok kolaydır. pandas’ı kaldırmak istiyorsanız, tek yapmanız gereken şunu çalıştırmaktır:

>>pip uninstall pandas

Ek pip Komutları 

Paket kurma, yükseltme ve kaldırma pip ile en sık yapacağınız işlemler olsa da, bahsetmeye değer başka komutlar da vardır.

Mevcut farklı pip komutları ve bunları nasıl kullanacağınız hakkında ek bilgiye ihtiyaç duyarsanız şunu çalıştırın:

>>pip help

Ortamınızda kurulu tüm paketleri listelemek için:

>>pip list

İlgilendiğiniz bir paket hakkında özet görmek için:

>>pip show [NameOfPackage]

pip Sorun Giderme

pip yalnızca birkaç komuta sahip oldukça basit bir paket olsa da, her zaman sorunlar çıkabilir. İşte en yaygın sorunların listesi ve bunları nasıl düzelteceğiniz.

pip’i kurmak

Nadir de olsa, pip’in kurulu olmaması mümkündür. Bu durumda, pip’i kurmanın en kolay yolu aşağıdaki ifadeyi çalıştırmaktır. Bu, Python’un, bir Python ortamına pip kurmak için tasarlanmış yerleşik ensurepip paketini tetiklemesini sağlar. 

>>python3 -m ensurepip --default-pip

Sorun devam ederse alternatif çözümler denemek için pip belgelerine bakın.

Pip güncel değil

Bir paketin yeni sürümleri hata düzeltmeleri, yeni özellikler ve daha yüksek performans getirebilir. Bu durum pip dahil tüm Python paketleri için geçerlidir. Eski bir pip sürümü kullanıyorsanız beklenmedik davranışlar yaşayabilirsiniz. Bu yüzden, hem pip’i hem de kaynak arşivlerinden paket kurabilmenizi sağlamada yararlı olan setuptools ve wheel paketlerini güncel tutmanız her zaman tavsiye edilir. 

>>pip install –upgrade pip setuptools wheel

Sonuç

Umarız bu eğitimden keyif almışsınızdır! Paketleri kurmak için standart araç olarak pip, Python geliştiricileri için hayati öneme sahiptir. Kullanımı oldukça kolaydır; komutlara ve işleyişe aşina olduktan sonra paket yönetimini son derece sade bir sürece dönüştürür. 

Ek kaynaklar arıyorsanız aşağıdaki DataCamp materyallerine göz atın ve bugün Python ve pip ile başlayın!

Python pip SSS

Python&rsquo;da paket nedir?

Bir paket, farklı uygulamalarda ve problemlerde tekrar tekrar kullanılabilen ilişkili dosyalar, modüller ve bağımlılıklardan oluşan bir koleksiyondur.

Paket yöneticisi nedir?

Bir paket yöneticisi, bir bilgisayarda paketlerin tutarlı bir şekilde kurulması, yükseltilmesi, yapılandırılması ve kaldırılması sürecini otomatikleştiren bir araçtır.

pip nedir?

pip, Python’da standart bir paket yöneticisidir.

pip ile bir paketi nasıl kurabilirsiniz?

Şunu kullanın: pip install [NameOfPackage]

pip ile bir paketi nasıl yükseltebilirsiniz?

Şunu kullanın: pip install --upgrade [NameOfPackage]

pip ile bir paketi nasıl kaldırabilirsiniz?

Şunu kullanın: pip uninstall [NameOfPackage]

Konular

İlgili