pip Kullanım Kılavuzu: Paket Yönetimi Komutları ve İpuçları

Python paketlerini yönetmek için kullanılan pip komutlarının detaylı kılavuzu. Kurulumdan sanal ortam yönetimine kadar tüm temel işlemler.

L
Linuxize
4 görüntülenme

pip Nedir ve Neden Kullanılır?

pip, Python için standart paket yöneticisidir ve PyPI (Python Package Index) üzerinden binlerce üçüncü parti kütüphaneyi kolayca kurmanızı, güncellemenizi ve yönetmenizi sağlar. Geliştirme projelerinizde bağımlılıkları kontrol altında tutmak ve çevresel izolasyon sağlamak için pip vazgeçilmez bir araçtır.

Kurulum ve Temel Kullanım

pip'in sisteminize yüklenmesi gerekiyorsa: Aşağıdaki komutları kullanabilirsiniz:

  1. Debian/Ubuntu tabanlı sistemler:
    sudo apt update
    sudo apt install python3-pip
  2. Windows:
    python -m ensurepip --upgrade
    python -m pip install --upgrade pip
  3. pip versiyonunu kontrol etmek:
    pip --version

⚠️ Önemli Uyarı: pip'i sistem paket yöneticisiyle (apt, yum vb.) karıştırmayın. Python paketlerini pip ile yönetin, sistem paketlerini ise sistem paket yöneticisiyle güncelleyin.

Paket Kurulumu

pip ile paket kurmanın çeşitli yöntemleri bulunmaktadır:

Komut Açıklama
pip install package
En son sürümü kurar
pip install pkg1 pkg2
Birdden fazla paketi aynı anda kurar
pip install --user package
Paketi kullanıcı dizinine kurar (sistem dizinine gerekli izinler olmadan)
pip install -e .
Mevcut dizindeki projeyi düzenlenebilir (editable) modda kurar
pip install 'package[extra]'
İsteğe bağlı bağımlılıklarla birlikte paketi kurar
pip install ./dist/pkg.whl
Özel bir .whl dosyasından paket kurar
python -m pip install package
Python başlatıcısı üzerinden paket kurar (önerilen yöntem)

💡 İpucu: Düzenlenebilir mod (-e), geliştirme sırasında yerel değişikliklerinizin anında yansıtılmasını sağlar. Bu özellikle yerel projelerinizde çok kullanışlıdır.

Sürüm Kontrolü ve Kaynaklar

Belirli bir paket sürümünü kurmak veya farklı kaynaklardan kurulum yapmak için aşağıdaki komutları kullanabilirsiniz:

Komut Açıklama
pip install package==1.2.3
Belirli bir sürümü kurar
pip install 'package>=1.0,<2.0'
Belirli bir sürüm aralığındaki paketi kurar
pip install --upgrade package
Paketi en son sürüme günceller
pip install --pre package
Ön yayın (pre-release) sürümlerini de kurabilir
pip install 'git+https://host/repo.git'
Git deposundan doğrudan kurulum yapar
pip install -i https://mirror/simple package
Alternatif bir PyPI aynasından kurulum yapar
pip index versions package
Belirli bir paketin mevcut tüm sürümlerini listeler

⚠️ Dikkat: Sürüm numaralarını dikkatli seçin. Gereksiz yere yeni sürümlere geçmek projelerinizde uyumsuzluklara yol açabilir. package>=1.0,<2.0 gibi aralıklar kullanarak gelecekteki uyumsuzlukları önleyin.

Proje Ortamını Yönetme

Her projenin bağımlılıklarını izole etmek ve yeniden üretilebilir ortamlar oluşturmak için requirements.txt dosyaları kullanılır:

Komut Açıklama
pip install -r requirements.txt
requirements.txt dosyasındaki tüm paketleri kurar
pip freeze
Yüklü tüm paketleri ve sürümlerini listeler
pip freeze > requirements.txt
Mevcut ortamdaki paketleri requirements.txt dosyasına kaydeder
pip download -r requirements.txt -d ./pkgs
Paketleri indirir fakat kurmaz (çevrimdışı kurulum için)
pip install --no-deps -r requirements.txt
Bağımlılıkları kurmadan sadece belirtilen paketleri yükler
pip uninstall -r requirements.txt
requirements.txt dosyasında belirtilen tüm paketleri kaldırır

📌 Öneri: requirements.txt dosyası projenizin bel kemiğidir. Her geliştirme ortamında aynı bağımlılıkları sağlamak için bu dosyayı versiyon kontrol sistemine ekleyin ve güncel tutun.

Paketleri Kaldırma ve Kontrol Etme

Kurulmuş paketleri kaldırmak ve bağımlılık ağacını doğrulamak için:

Komut Açıklama
pip uninstall package
Belirli bir paketi kaldırır
pip uninstall -y package
Onay sormadan paketi kaldırır
pip uninstall pkg1 pkg2
Birdden fazla paketi aynı anda kaldırır
pip check
Yüklü bağımlılıkların uyumluluğunu kontrol eder

Yüklü Paketleri İnceleme

Mevcut ortamdaki paketleri incelemek için:

Komut Açıklama
pip list
Tüm yüklü paketleri listeler
pip list --outdated
Güncellenebilir paketleri gösterir
pip list --not-required
Başka hiçbir paket tarafından kullanılmayan paketleri listeler
pip show package
Belirli bir paketin detaylı bilgilerini gösterir
pip show -f package
Paket tarafından yüklenen dosyaları listeler

Sanal Ortamlar ile Çalışma

Python projelerinizde bağımlılık çakışmalarını önlemek için sanal ortamlar kullanmanız şiddetle önerilir. Python'un yerleşik venv modülü bu iş için idealdir:

  1. Sanal ortam oluşturma:
    python -m venv myenv
  2. Sanal ortamı etkinleştirme:
    • Linux/macOS:
      source myenv/bin/activate
    • Windows:
      myenv\Scripts\activate
  3. Sanal ortamdan çıkış:
    deactivate
  4. Sanal ortamdaki pip'i güncelleme:
    pip install --upgrade pip

⚠️ Önemli: pip install --break-system-packages komutu sistem paket yöneticisini bypass eder ve PEP 668 tarafından önerilmez. Sadece acil durumlarda ve dikkatlice kullanın.

Yapılandırma ve Önbellek Yönetimi

pip'in davranışını yapılandırmak ve önbellek yönetimi için:

Komut Açıklama
pip config list
Mevcut yapılandırma ayarlarını listeler
pip config set global.index-url URL
Varsayılan PyPI aynasını ayarlar
pip install --no-cache-dir package
Önbelleği kullanmadan paket kurulumu yapar
pip cache dir
Önbellek dizinini gösterir
pip cache info
Önbellek boyutu ve sayısını gösterir
pip cache purge
Tüm önbelleği temizler

💡 İpucu: Önbelleği temizlemek disk alanınızı kurtarmanıza yardımcı olur. Özellikle büyük paketlerle çalışırken düzenli olarak önbelleği temizlemeyi düşünün.

İlgili Kaynaklar

pip kullanımını daha da derinlemesine öğrenmek için aşağıdaki kaynaklara başvurabilirsiniz:

Kaynak

Linuxize