Neden kurulumu önemsiyoruz?
Bu uygulamada kodu tarayıcıda çalıştırıyorsun ve bu, öğrenmek için yeterli. Ama iş hayatında Python, senin bilgisayarında ya da bir sunucuda bir betik (script) olarak çalışır: Ilgaz Bank'ın gece raporu bir sunucuda, Anadolu Market analistinin günlük özeti onun dizüstünde koşar. Bu derste o ortamı kuruyoruz. Kurulumu bir kez düzgün yaparsan sonraki aylarda saatlerce "neden çalışmıyor" sorusuyla uğraşmazsın.
1. Python'ı kurmak
Resmî kaynak python.org. Kasım 2026'da kararlı sürümler 3.15 (Ekim 2026'da çıktı) ve 3.14; yeni başlayan için öneri 3.14, çünkü paketlerin hazır derlemeleri yeni sürümlere biraz geç gelir. Bu uygulamadaki tarayıcı motoru Python 3.12'dir; temel dil aynıdır, bilgisayarına 3.14 kurman sorun çıkarmaz. Windows'ta python.org artık "Python install manager" adlı yükleme yöneticisini öne çıkarıyor, klasik yükleyici de hâlâ sunuluyor.
- Windows: Kurulum sihirbazının ilk ekranında "Add python.exe to PATH" kutusunu mutlaka işaretle. Bu kutu, terminalde
pythonyazınca bilgisayarın Python'ı bulmasını sağlar. - macOS: python.org paketini kur. Sistemle gelen eski Python'a dokunma; sen hep
python3komutunu kullan. - Linux: Çoğu dağıtımda Python zaten vardır. Yoksa paket yöneticisinden (apt, dnf)
python3kur.
Kurulum bittikten sonra bir terminal (Windows'ta PowerShell ya da Komut İstemi, macOS ve Linux'ta Terminal) aç ve şunu yaz:
python --version Python 3.14.x
Windows'ta python, macOS ve Linux'ta genelde python3 çalışır. "Python 3." ile başlayan bir satır görüyorsan kurulum tamam. "command not found" ya da "tanınmıyor" diyorsa büyük ihtimalle PATH adımı atlanmıştır; kurulumu "Modify" ile tekrar aç ve kutuyu işaretle.
2. Editör: VS Code
Kodu Not Defteri'nde de yazabilirsin ama bir kod editörü (code editor) sana renklendirme, otomatik tamamlama ve hata altı çizme verir. En yaygın tercih ücretsiz Visual Studio Code. Kurduktan sonra sol taraftaki Extensions panelinden Microsoft'un Python eklentisini yükle. Bu eklenti, dosyanın sağ üstündeki "Run" düğmesini ve hata uyarılarını getirir.
3. İki çalışma biçimi: REPL ve betik
Python'la iki şekilde konuşursun. Terminale sadece python yazıp Enter'a basarsan REPL açılır: Read-Eval-Print Loop, yani oku-hesapla-yazdır döngüsü. Başında >>> olan satıra bir ifade yazarsın, Python hemen sonucunu gösterir. Deneme için mükemmel. Çıkmak için exit() yazarsın.
>>> 3 * 250 750 >>> "Anadolu" + " Market" 'Anadolu Market'
Kalıcı bir iş için ise kodu bir dosyaya yazarsın: uzantısı .py olan düz bir metin dosyası. Örneğin rapor.py adıyla şu içeriği kaydet ve terminalde python rapor.py ile çalıştır. Aynı kodu burada da çalıştırabilirsin:
siparis_adedi = 3
birim_fiyat = 250
print("Haftalık özet")
print("Sipariş:", siparis_adedi)
print("Ciro:", siparis_adedi * birim_fiyat)
Aradaki fark önemli: REPL'de her ifadenin değeri otomatik gösterilir, betikte ise sadece print ettiğin şey ekrana çıkar. Betikte 3 * 250 yazıp bırakırsan hiçbir şey görmezsin.
| Komut | Ne yapar |
|---|---|
python --version | Kurulu sürümü gösterir |
python | REPL'i açar (çıkış: exit()) |
python rapor.py | rapor.py betiğini baştan sona çalıştırır |
python -m venv .venv | Projeye özel sanal ortam oluşturur |
pip install pandas | Bir paket kurar (sanal ortam etkinken) |
4. Python'ın kendisine soru sormak
Hangi sürümde çalıştığını kodla da öğrenebilirsin. sys modülü (module), yorumlayıcı hakkında bilgi taşır; import ile içe alırsın:
import sys
print(sys.version)
print("Ana sürüm:", sys.version_info.major)
print("Alt sürüm:", sys.version_info.minor)
Modül kavramını ileride ayrıntılı göreceksin; şimdilik "başkasının hazırladığı araç kutusu" diye düşün. Üçüncü örnek, hazır gelen platform modülüyle sistem bilgisini çeker:
import platform
print("Python:", platform.python_version())
print("Uygulama:", platform.python_implementation())
İlk betiği adım adım çalıştırmak
- VS Code'da bir klasör aç (örneğin
python-proje). - Yeni dosya oluştur, adını
merhaba.pykoy ve içineprint("Merhaba")yaz, kaydet. - Üst menüden Terminal > New Terminal ile editörün içinde bir terminal aç; terminal zaten klasörün içinde başlar.
python merhaba.py(ya dapython3 merhaba.py) yaz ve Enter'a bas.- Çıktıyı gör. Bir hata varsa son satırı oku; büyük ihtimalle dosya adı ya da yazım hatasıdır.
Bu beş adım, önümüzdeki aylarda yüzlerce kez tekrarlayacağın döngüdür: yaz, kaydet, çalıştır, oku, düzelt. Editördeki Run düğmesi aynı komutu senin yerine yazar; ama terminal komutunu bilmek, düğmenin olmadığı sunucularda hayat kurtarır.
5. Jupyter'a kısa bakış
Veri analistleri genelde Jupyter Notebook kullanır: kod hücreleri, çıktılar ve açıklama metinleri tek bir belgede durur, her hücre tek tek çalıştırılır. Bir satır veri okuyup sonucunu hemen görmek için idealdir; VS Code da .ipynb dosyalarını açar. Betik yazmayı öğrendikten sonra Jupyter'a geçmek kolaydır; tersi daha zordur. Bu yüzden önce betik mantığını oturtuyoruz.
6. Sanal ortam kavramına ön bakış
Her proje farklı paketler ister: Anadolu Market raporu pandas'ın bir sürümünü, başka bir proje başka sürümünü. Hepsini aynı yere kurarsan birbirini bozar. Sanal ortam (virtual environment), projeye özel, izole bir Python kopyasıdır. python -m venv .venv ile oluşturur, etkinleştirir, paketleri oraya kurarsın. Orta seviyede bunu adım adım yapacağız; şimdilik "her projenin kendi çantası olur" fikri yeter.
rapor.py gibi küçük harfli, boşluksuz, ASCII bir ad ver. Haftalık Rapor.py çalışır ama terminalde yazması ve paylaşması zahmetlidir.Bu bölümde kurulumun büyük resmini görürsün. Adım adım kurulum için Windows ve macOS / Linux derslerine, editör için VS Code, defter ortamı için Jupyter ve Colab derslerine bak. Burada hangi işletim sisteminde olursan ol geçerli kararları ve araçları ele alıyoruz: hangi sürüm, hangi Python, REPL'den nasıl daha çok verim alınır, python -m neden bu kadar önemli ve pip ile ilk paket nasıl kurulur.
Sürüm seçimi ve Python'ın sürüm döngüsü
Python sürümleri 3.12.4 gibi üç parçalıdır: 3 ana sürüm (major), 12 özellik sürümü (minor), 4 düzeltme sürümü (micro / patch). Önemli olan ortadaki sayıdır; yeni söz dizimi ve modüller orada gelir. Sondaki sayı yalnızca hata ve güvenlik düzeltmesi içerir, bu yüzden 3.12.3'ten 3.12.4'e geçmek her zaman güvenlidir.
PEP 602 ile Python yıllık bir takvime geçti: her yıl Ekim ayında yeni bir 3.x çıkar (3.12 → 2023, 3.13 → 2024, 3.14 → 2025). Her sürüm yaklaşık 2 yıl tam destek (hata düzeltmeleri) alır, ardından yalnızca güvenlik düzeltmeleriyle toplam 5 yıl yaşar. Örneğin 3.9 Ekim 2025'te, 3.10 Ekim 2026'da destek dışı kaldı. Destek dışı bir sürüm çalışmaya devam eder ama artık güvenlik açıkları kapatılmaz; kurum sunucularında bu kabul edilmez.
| Aşama | Süre | Ne gelir? | Ne zaman kullanılır? |
|---|---|---|---|
| alpha / beta / rc | Yayın öncesi ~1 yıl | Deneme sürümleri, özellikler değişebilir | Yalnız kütüphane yazarları test için |
| Tam destek (bugfix) | İlk ~2 yıl | Hata ve güvenlik düzeltmeleri, düzenli 3.x.y sürümleri | Yeni projeler için ideal |
| Güvenlik desteği | Sonraki ~3 yıl | Yalnız güvenlik yamaları, çoğunlukla kaynak kodu olarak | Mevcut projeler; göç planı yap |
| Destek dışı (EOL) | 5 yıldan sonra | Hiçbir şey | Kullanma; acilen yükselt |
CPython, PyPy ve diğerleri
"Python" aslında bir dil tanımıdır; onu çalıştıran programa uygulama (implementation) denir. python.org'dan indirdiğin sürüm CPython'dır: C ile yazılmış, referans kabul edilen uygulama. Bu uygulamadaki tarayıcı motoru Pyodide da WebAssembly'ye derlenmiş CPython'dır. Kendin kontrol et:
import sys
import platform
print("Uygulama:", platform.python_implementation())
print("İç adı:", sys.implementation.name)
print("Sürüm:", platform.python_version())
print("Sürüm demeti:", sys.version_info[:3])
print("En az 3.10 mu?", sys.version_info >= (3, 10))| Uygulama | Nedir? | Ne zaman? |
|---|---|---|
| CPython | Referans uygulama, C ile yazılmış | Varsayılan; hemen her iş |
| PyPy | JIT derleyicili uygulama | Uzun çalışan saf Python döngüleri; C eklentili paketlerde uyumluluk sınırlı olabilir |
| MicroPython | Mikrodenetleyiciler için küçük Python | Sensör, ESP32, Raspberry Pi Pico |
| Pyodide | Tarayıcıda çalışan CPython | Bu uygulama, JupyterLite |
CPython'ın son sürümlerinde iki yenilik var: GIL'siz (free-threaded) derleme (3.13'te deneysel, 3.14'te resmî destekli, ama ayrı bir derleme ve varsayılan değil) ve hâlâ deneysel olan JIT derleyici. İkisi de varsayılan olarak kapalıdır; Eşzamanlılık (concurrency) ve Performans derslerinde konuşacağız.
REPL'i iyi kullanmak
Terminalde python (macOS/Linux'ta python3, Windows'ta py da olur) yazınca açılan REPL, en hızlı deneme alanındır. Birkaç numara verimini katlar:
>>> 1499.9 * 3
4499.700000000001
>>> round(_, 2) # _ son sonucu tutar (yalnız REPL'de)
4499.7
>>> help(round) # belgeyi gösterir; q ile çık
>>> dir("metin") # bir nesnenin metotlarını listeler
>>> import math; math.sqrt(144)
12.0
>>> exit()_değişkeni: REPL'de son ifadenin sonucunu tutar. Betikte bu özellik yoktur.help()vedir(): İnternete çıkmadan belge okumanın yolu.help(str.split)bir metodun ne yaptığını anlatır.- Yukarı ok: Önceki satırları geri getirir. Python 3.13 ile gelen yeni REPL renkli istem (prompt), çok satırlı düzenleme, F1 (yardım), F2 (geçmiş) ve F3 (yapıştırma kipi) sunar;
exitparantezsiz de çalışır. python -i rapor.py: Betiği çalıştırır ve bittiğinde REPL'e düşer; betikteki değişkenleri inceleyebilirsin. Hata ayıklamanın (debugging) en basit biçimidir.
help ve dir burada da çalışır; çıktıyı kısaltmak için yalnız ilk elemanları alıyoruz:
yontemler = dir("Anadolu")
print(len(yontemler) > 30)
print([y for y in yontemler if y.startswith("s")])
help(len)python -m: modülü program gibi çalıştırmak
-m bayrağı "şu modülü, bu Python'la çalıştır" demektir. Makinede birden fazla Python olduğunda doğru olanı kullandığından emin olmanın en güvenli yolu budur.
| Komut | Ne yapar? |
|---|---|
python -V / -VV | Sürümü gösterir (-VV derleme ayrıntısıyla) |
python -c "print(2**10)" | Tek satırlık kodu dosya yazmadan çalıştırır |
python -m pip install pandas | Bu Python'ın pip'iyle paket kurar |
python -m venv .venv | Projeye özel sanal ortam oluşturur |
python -m http.server 8000 | Klasörü yerel bir web sunucusuyla paylaşır |
python -m json.tool veri.json | JSON dosyasını okunur biçimde yazdırır ve doğrular |
python -m timeit "sum(range(1000))" | Küçük bir ifadenin süresini ölçer |
python -m site | Paketlerin hangi klasörlere kurulduğunu gösterir |
Kendi betiğin de bir modüldür. Doğrudan çalıştırıldığında özel değişken __name__, "__main__" değerini alır; içe aktarıldığında ise modülün adını. İleride if __name__ == "__main__": kalıbını bu yüzden göreceksin.
print("Bu kod şu adla çalışıyor:", __name__)
import json
print("json modülünün adı:", json.__name__)pip ile ilk adımlar
pip, PyPI'daki paketleri kuran resmî araçtır. Komutları her zaman python -m pip biçiminde yaz ve mümkünse bir sanal ortamın içinde çalıştır (Orta seviyedeki Sanal ortam ve pip dersi bunu derinleştirir).
python -m pip --version # hangi Python'a bağlı? yol yazar python -m pip install requests # en yeni sürüm python -m pip install "pandas==2.2.3" # tam sürüm (tırnak kabuk için) python -m pip install --upgrade pip # pip'in kendisini güncelle python -m pip list # kurulu paketler python -m pip show pandas # sürüm, bağımlılıklar, konum python -m pip freeze > requirements.txt # ortamı dosyaya dök python -m pip install -r requirements.txt python -m pip uninstall requests
| Belirti | Neden | Çözüm |
|---|---|---|
pip: command not found / tanınmıyor | Scripts klasörü PATH'te değil | python -m pip kullan |
Kurdum ama ModuleNotFoundError | Paket başka bir Python'a kuruldu | python -m pip --version ile yolu karşılaştır; editörde aynı yorumlayıcıyı seç |
externally-managed-environment | Sistem Python'ı korunuyor (PEP 668) | Sanal ortam oluştur; sistem Python'ına kurma |
Permission denied | Yönetici klasörüne yazmaya çalışıyor | sudo kullanma; sanal ortam ya da --user |
| SSL / proxy hatası | Kurum ağı trafiği denetliyor | BT'den proxy ve sertifika ayarını iste |
REPL'de pip install SyntaxError | Terminal komutu Python'a yazıldı | exit() ile çık, terminalde çalıştır |
pip install beautifulsoup4 kurar, kodda import bs4 yazarsın; scikit-learn kurulur, sklearn içe aktarılır. Ayrıca PyPI'da tanınmış paketlere benzeyen sahte adlar (typosquatting) bulunur; adı kopyala-yapıştır yapmadan önce paket sayfasını kontrol et.uv'ye kısa bakış
uv, Rust ile yazılmış, pip ve venv'in işini çok daha hızlı yapan yeni nesil bir araçtır; Python sürümlerini de kendisi indirebilir. Tek başına bir kurulum yolu olarak macOS / Linux dersinde ayrıntılı anlatılıyor. Bilmen gereken dört komut:
uv python install 3.12 # Python'ın kendisini indir uv init rapor && cd rapor # pyproject.toml ile proje başlat uv add pandas # paketi ekle (ortamı kendisi kurar) uv run main.py # projenin ortamında çalıştır
Ekibin pip kullanıyorsa pip, uv kullanıyorsa uv; ikisinin de mantığı aynı: projeye özel ortam ve kayıtlı bağımlılık listesi.
Kurulum doğrulama kontrol listesi
Yeni bir bilgisayarda ya da sunucuda işe başlamadan önce bu listeyi sırayla geç. Her satır bir öncekinin varsayımını doğrular:
python --version(ya dapython3,py): beklenen sürüm mü?where python(Windows) /which -a python3(macOS/Linux): kaç Python var, ilki hangisi?python -c "import sys; print(sys.executable)": çalışan yorumlayıcının tam yolu.python -m pip --version: pip aynı yolu mu gösteriyor?python -c "import ssl, sqlite3, venv; print('tamam')": ağ, veritabanı ve sanal ortam modülleri sağlam mı?python -m venv deneme, etkinleştir,python -m pip install requests: tüm zincir çalışıyor mu? Sonra klasörü sil.- Editörde (VS Code) seçili yorumlayıcı 3. adımdaki yolla aynı mı?
python -m pip install -r requirements.txt" gibi iki satır eklemek, ekibe katılan her yeni kişiye saatler kazandırır.Kurumsal bilgisayarda kurulum
Şirket dizüstünde yönetici yetkisi olmayabilir. python.org kurulumu "Install for me only" seçeneğiyle yönetici istemeden kurulur. Bazı kurumlar Python'ı yazılım merkezinden dağıtır; önce oraya bak. Vekil sunucu (proxy) arkasındaysan pip paket indiremeyebilir; bu durumda BT ekibinden proxy ayarını iste, kendi başına çözüm aramaya çalışma.
Birden fazla Python sürümü
Bir süre sonra makinede birkaç Python olur: sistemle gelen, python.org'dan kurulan, belki bir de Anaconda. Hangisinin çalıştığını python --version ve Windows'ta where python, macOS ve Linux'ta which python3 söyler. Karışıklığı önlemenin yolu yine sanal ortamdır: ortam etkinken python hep o projenin Python'ıdır.
Editör alternatifleri
PyCharm, Python'a özel güçlü bir editördür ve büyük projelerde tercih edilir. Jupyter Lab veri keşfi için, Thonny ise tamamen yeni başlayanlar için sadeleştirilmiştir. Hangisini seçersen seç, temel beceriler aynıdır: dosya oluştur, kaydet, terminalden çalıştır, hata mesajını oku.