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:
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ümsudo pip installdeğil — bir sanal ortamdır.- Kurulumdan sonra
ModuleNotFoundError— neredeyse her zamanpip install'un paketi, script'ini çalıştıran Python'dan başka bir Python'a yerleştirdiği bir durumdur.which pythonvewhich pip(macOS/Linux) ya dawhere python/where pip(Windows) ile kontrol et. Ya da daha güvenilir biçimdepython -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.pipx—black,ruff,httpiegibi 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.poetryvehatch— 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.