Menu

Python pip: Paket Kur, Sürüm Yönet ve PyPI Kullan

Python paketlerini pip ile nasıl kurarsın, yükseltirsin ve kaldırırsın — PyPI, requirements dosyaları ve genel kuruluma düşmekten nasıl kaçınılır.

pip Gerçekte Nedir

pip, kendi yazmadığın Python kütüphanelerini kuran araçtır. pip install requests çalıştırdığında requests'i PyPI'da (Python Package Index) arar, platformun için doğru sürümü indirir ve Python kurulumunun site-packages dizinine yerleştirir. Ondan sonra import requests çalışır.

python.org, Homebrew veya Linux paket yöneticin üzerinden gelen her Python 3 kurulumu pip'le birlikte gelir. Bir şey kurmadan önce doğrula:

python -m pip --version

Bir sürüm numarası ve pip modülünün yolunu görmelisin. Komut başarısız olursa en güvenilir çözüm:

python -m ensurepip --upgrade

Bu, yorumlayıcıyla birlikte gelen kopyayı kullanarak pip'i Python kurulumuna önyükler.

python -m pip vs pip

İki biçimi de göreceksin. Neredeyse aynı işi yaparlar — önemli bir farkla: python -m pip, PATH'indeki python'u kullanır — script'lerinin kullandığının aynısı. Çıplak pip ise ilk karşısına çıkan pip'i kullanır ki bu her zaman aynı olmayabilir.

Birden fazla Python kurulu olduğunda (macOS'ta kolayca böyle oluyor), çıplak pip şu kafa karıştırıcı duruma götürür: "Kütüphaneyi kurdum ama kodum hâlâ ModuleNotFoundError diyor."

Pratik kural: Paketin hangi yorumlayıcıya gideceğinden kesin emin olmak istediğinde python -m pip ... kullan. Emin olduğun hızlı işler için çıplak pip iyidir.

Paket Kurmak

Temel komut:

python -m pip install requests

Bu, requests'i PyPI'dan bağımlılıklarıyla birlikte getirir ve kurar. Bir dakika sonra kullanabilirsin:

main.py
Output
Click Run to see the output here.

Tek seferde birden fazla paket kurmak:

python -m pip install requests pandas rich

Belirli bir sürümü sabitlemek:

python -m pip install "django==5.0.2"
python -m pip install "requests>=2.30,<3"

Bazı shell'lerde tırnaklar önemli — == ve <'ın shell operatörü olarak yorumlanmasını engeller.

Yükseltme ve Kaldırma

python -m pip install --upgrade requests
python -m pip uninstall requests

--upgrade, belirttiğin kısıtlamayı karşılayan en yeni sürümü getirir. uninstall paketi kaldırır ama bağımlılıklarını değil; onlar, açıkça kaldırana kadar durur.

pip'in kendisini güncel tutmak için:

python -m pip install --upgrade pip

Birkaç ayda bir çalıştırmaya değer. Yeni pip sürümleri daha çok kurulum sorununu yakalar ve bağımlılıkları daha iyi çözer.

Neyin Kurulu Olduğunu Görmek

python -m pip list
python -m pip show requests

list, o anki Python'da kurulu her paketi gösterir. show requests, o paket için sürümü, konumu, bağımlılıkları ve lisansı yazdırır — "bunun hangi sürümünü gerçekten kullanıyorum?" diye merak ettiğinde faydalıdır.

requirements.txt: Bağımlılıklarını Yazıya Dökmek

Bir projede birkaç kütüphaneden fazlası olduğunda listeyi kaydet. pip freeze bunu senin için yapar:

python -m pip freeze > requirements.txt

Bu, satır başına bir sabitlenmiş bağımlılık içeren bir dosya üretir:

django==5.0.2
requests==2.31.0
rich==13.7.1

Repo'nu klonlayan herkes kurulumu şununla yeniden oluşturabilir:

python -m pip install -r requirements.txt

pip freeze, transitif bağımlılıklar dahil her şeyi yakalar. Tam tekrarlanabilirlik için iyi ama kodunun gerçekten içe aktardığı üst düzey kütüphaneleri istiyorsan gürültülü olur. Pek çok proje, doğrudan bağımlılıkları elle yazdığı bir requirements.txt tutar ve transitif olanları pip'e çözdürür.

Modern projeler için pyproject.toml (yanında pip-tools, uv, poetry veya hatch gibi araçlarla) requirements.txt'in yerini alıyor. Kavram aynıdır — "bağımlılıkları yaz, kurmak için bir komut çalıştır" — ama dosya biçimi daha yapılandırılmıştır.

Her Zaman Sanal Ortama Kur

Her gerçek Python projesinin bir sanal ortamı olmalı. Kendi python'u ve kendi kurulu paketleri olan proje yerel bir klasördür — böylece bir projedeki pip install başkasını etkilemez.

İki satırlık kurulum:

python -m venv .venv
source .venv/bin/activate    # macOS / Linux
# veya Windows'ta .venv\Scripts\activate

Aktif edildikten sonra python -m pip install requests, paketi venv'e kurar. Sistem Python'un temiz kalır. Bunu Sanal Ortamlar sayfasında daha ayrıntılı işliyoruz.

pip install çalıştırıp sistem Python'una kurulum yaptığına dair bir uyarı ya da --break-system-packages geçmeni söyleyen bir mesaj görürsen, dur. Bu senin bir venv oluşturman gerektiğinin işaretidir.

pip Bir Paketi Kuramadığında

Birkaç yaygın başarısızlık ve ne anlama geldikleri:

  • Could not find a version that satisfies the requirement … — genellikle paket adında bir yazım hatasıdır ya da paket, senin sahip olduğundan daha yeni bir Python gerektiriyordur.
  • error: Microsoft Visual C++ 14.0 or greater is required (Windows) — paketin yerel bir uzantısı var ve bir C++ derleme araç zinciri istiyor. Microsoft'un Build Tools'unu kur ya da önceden derlenmiş bir wheel ara (popüler paketlerin çoğu onu da yayınlar).
  • Permission denied — sistem Python'una root olmadan kurmaya çalışıyorsun. Doğru çözüm sudo pip install değil — bir sanal ortamdır.
  • Kurulumdan sonra ModuleNotFoundError — neredeyse her zaman pip install'un paketi, script'ini çalıştıran Python'dan başka bir Python'a yerleştirdiği bir durumdur. which python ve which pip (macOS/Linux) ya da where python / where pip (Windows) ile kontrol et. Ya da daha güvenilir biçimde python -m pip install ... kullan.

pip'in Modern Alternatifleri

Karşına çıkacak birkaç araç — hepsi pip uyumludur ve belirli acı noktalarını çözer:

  • uv — çok daha hızlı bir yükleyici ve çözücü. Çoğu pip komutunun birebir yerine geçer.
  • pipxblack, ruff, httpie gibi komut satırı araçlarını yalıtılmış venv'lere kurar; böylece proje bağımlılıklarıyla çakışmadan genelde kullanılabilir olurlar.
  • poetry ve hatch — sanal ortam yönetimini, bağımlılık çözümünü ve derlemeyi tek bir araca birleştiren proje yöneticileri.

İlk gün bunların hiçbirine ihtiyacın yok. Önce pip'i öğren; çözdükleri acı seninki haline geldiğinde diğerlerine uzan.

Sırada: Sanal Ortamlar

Paketler ve sanal ortamlar birlikte gider. Nedenini gördün; bir sonraki sayfa venv'i ayrıntılı işliyor — oluşturma, aktif etme, devre dışı bırakma ve Python projelerini düzenli tutan küçük gelenekler.

Sıkça Sorulan Sorular

Python'da pip nedir?

pip, Python'un paket yükleyicisidir — Python Package Index'ten (PyPI) üçüncü parti kütüphaneleri indirip kuran araç. pip install requests, requests kütüphanesini getirir ve Python yorumlayıcının içe aktarabileceği yere koyar. Her yeni Python 3 kurulumuyla birlikte gelir.

pip'i nasıl kurarım?

Python ile birlikte gelir. pip --version eksik komut uyarısı veriyorsa, python -m ensurepip --upgrade veya python -m pip install --upgrade pip komutunu çalıştır. macOS ve Linux'ta düz pip bulunamıyorsa pip3 kullan — o, Python 3 kurulumuna işaret eder.

pip'i nasıl güncellerim?

python -m pip install --upgrade pip komutunu çalıştır. Çıplak pip yerine python -m pip kullanmak, yükseltmenin gerçekten kullandığın Python yorumlayıcısına gitmesini garanti eder — birden fazla Python kurulu olduğunda küçük ama önemli bir ayrıntı.

Paketleri genele mi yoksa sanal ortama mı kurmalıyım?

Tek seferlik bir script'in ötesindeki her proje için her seferinde sanal ortam. Genel kurulumlar projeler arası sürüm çakışmalarına yol açar ve sistem Python'unu kirletir. Kısa cevap venv modülüdür (yerleşik) — Sanal Ortamlar sayfasında ayrıntılı işliyoruz.

Coddy ile kodlamayı öğren

BAŞLA