Skip to content

macOS'a Python Kurulumu: System Python'a Neden Dokunmuyoruz, Homebrew ve Modern Yollar

macOS'ta zaten 'python3' var ama Apple onu sistem işleri için tutuyor — sen ona dokunma. Bu derste Homebrew, asdf, pyenv ve resmi installer arasındaki tercihi yapmayı, sürüm yönetiminin gizli inceliklerini öğreneceksin.

Şükrü Yusuf KAYA
13 min read
Beginner
macOS'a Python Kurulumu: System Python'a Neden Dokunmuyoruz, Homebrew ve Modern Yollar
🍎 macOS kullanıcısına özel ders
Bu ders macOS (Apple Silicon ve Intel) içindir. macOS'un Python ile ilişkisi özeldir: zaten bir Python yüklü ama Apple ona 'sen kullanma' diyor. Tatlı bir paradoks. Açıklayalım.

macOS'ta zaten bir Python var, ama...#

Yeni Mac'ini açıyorsun, terminali çağırıyorsun:
python3 --version # Çıktı: Python 3.9.6 (örneğin, macOS sürümüne göre değişir)
Hopa, zaten Python varmış! "Demek ki kurmaya gerek yok" diyorsun. Stop.
Bu Python, system Python. macOS'un kendisi (Xcode araçları, bazı sistem scriptleri) bu Python'u kullanıyor. Yani bu Python Apple'a ait, sana değil.
Apple'ın söylediği iki şey var:
  1. "Bu Python'u upgrade etmeye, paket yüklemeye, bozmaya çalışma. Sistem işleri buna bağlı."
  2. "Kendine bir Python kur, onunla çalış."
Dahası: macOS'un sürümüne göre bu system Python farklı sürümlerde gelir. Ventura'da 3.9, Sonoma'da 3.9, Sequoia'da hâlâ 3.9. Apple bunu güncellemeyi yavaş yapıyor. Yani sistem Python'u default olarak eski ve genelde 1-2 yıl gerideki bir sürüm.
Pratik kural: System Python'a hiç dokunma. Kendi Python'unu kur. Sözünü dinleyince hayatın kolaylaşıyor.

macOS'ta Python kurmanın yolları#

Üç popüler yol:
  1. Homebrew — macOS'un de facto paket yöneticisi.
    brew install python@3.13
    deyip geçiyorsun.
  2. python.org installer — resmi PSF installer'ı, .pkg dosyası.
  3. pyenv / asdf — sürüm yönetici (multi-version) için.
Şimdi her birini açıklayalım, sonra tavsiye veriyim.
Homebrew, macOS'ta paket yönetiminin en yaygın yolu. Eğer henüz kurmadıysan:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Kurulum bittikten sonra:
# Mevcut Python sürümlerini listele brew search python@ # Kur brew install python@3.13 # Doğrula python3.13 --version
Avantajları:
  • Tek komut
  • Diğer toolların (git, node, vs.) yanında tek bir paket yöneticisi
  • pip ile beraber gelir
  • Kolayca update:
    brew upgrade python@3.13
Dikkat: Homebrew Python'u senin user'ına değil, /opt/homebrew/ (Apple Silicon) veya /usr/local/ (Intel) altına kuruyor. Bu doğru.

Benim önerim#

Bu kurs için adım adım rotam şöyle:

1. Homebrew kuralım (yoksa)#

Homebrew sadece Python için değil, bütün dev araçlarını yönetmek için temel. macOS'ta dev olmak istiyorsan bu zorunlu adım.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

2. pyenv kuralım#

Modern Python kullanıcıları neredeyse hepsi sürüm yöneticisi kullanıyor. Tek sürüm Python ile başlarsın ama ileride mutlaka birden fazla sürüm gerekecek. Şimdiden hazırlık yapmak iyi olur.
brew install pyenv # Apple Silicon (M1/M2/M3/M4) için zsh: echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc echo 'eval "$(pyenv init -)"' >> ~/.zshrc source ~/.zshrc # Python 3.13 kur (en güncel kararlı) pyenv install 3.13.0 # Global default pyenv global 3.13.0 # Doğrula python --version # Python 3.13.0 which python # ~/.pyenv/shims/python

3. Doğrulama#

Yeni terminal açıp:
python --version pip --version which python
Hepsi pyenv'in shims'lerinden geliyorsa, doğru kurulum.
System Python hâlâ orada (
python3
ile yine erişebilirsin) ama sen kendi pyenv'liyle çalışacaksın.
bash
# Apple Silicon kullanıcılarına özel:
# Bazı eski paketler hâlâ Intel mimarisi (x86_64) için derlenmiş.
# Native ARM64 ile çalışırlar ama bazılarına Rosetta 2 lazım.
 
# Mevcut Python mimarini kontrol et
python -c "import platform; print(platform.machine())"
# Apple Silicon native: arm64
# Rosetta altında: x86_64
 
# Eğer Rosetta gerekirse (nadir, modern paketlerde):
# Terminal'i Rosetta ile aç (Get Info → Open using Rosetta)
# Veya brew'u i386 modunda kur (özel durum)
Apple Silicon ve Rosetta — modern paketlerin %99'unda dert değil ama bilmek iyi.

"Hangi shell kullanıyorum?" — bilmen gereken küçük şey#

macOS Catalina'dan (2019) beri default shell zsh. Daha önceki macOS'larda bash'ti. Hangisini kullandığını şöyle anla:
echo $0 # Çıktı: -zsh ya da -bash
Bu kursun macOS komutlarında zsh varsayıyorum. Bash kullanıyorsan,
~/.zshrc
yerine
~/.bash_profile
'a yazacaksın değişiklikleri.
Profesyonel geliştirici olarak shell'in açıkça farkında olmak avantaj — bir gün senin kişisel
.zshrc
dosyanı düzenliyor olacaksın ve "ben tam olarak ne yapıyorum?" sorusunu cevaplamış olmak iyi olacak.
⛔ Asla yapma listesi
(1)
sudo pip install ...
— system Python'a paket kurmak. Apple'ın istemediği şey. Hata verirse iyidir; vermezse şanslıydın. (2)
brew uninstall python
— sistemin diğer brew paketleri buna bağlı olabilir, kırılır. (3)
/usr/bin/python3
'ü manuel update etmek — Apple'ın işi. (4) Birden fazla yöntemi karıştırmak (Homebrew + pyenv + python.org installer hepsi birden) — PATH karışıklığı yaratır, hangisinin çalıştığını şaşırırsın.

Bu derste neler kazandın?#

✓ macOS'un kendi system Python'unun olduğunu — ama ona dokunmamak gerektiğini.
✓ Python kurmanın 3 yolunu (Homebrew, python.org installer, pyenv/asdf) ve hangisinin ne zaman uygun olduğunu.
Önerilen yol: Homebrew + pyenv kombinasyonu. Profesyonel macOS Python geliştiricisinin standart kurulumu.
✓ Apple Silicon'a (ARM64) özel ipuçları, Rosetta'nın ne zaman gerekli olduğu.
✓ Shell tipini (zsh/bash) tespit etmenin yolu — ileride config dosyası düzenlerken iyi.
Sıradaki ders: Linux'a Python kurulumu. Ubuntu/Debian apt, Fedora dnf, deadsnakes PPA, kaynaktan derleme. Sunucuya deploy edeceksen bu ders çok değerli olacak.

Frequently Asked Questions

Terminalde `conda --version` yaz. Bir sürüm çıkıyorsa kurmuşsun demektir. Bu kursta Anaconda'yı tercih etmiyoruz; bırakmaktan ziyade beraber yaşamayı öneriyorum. `conda deactivate` ile conda environment'ından çıkıyorsun, sonrasında pyenv ile devam edebilirsin. Tamamen kaldırmak istiyorsan `anaconda-clean` paketi var ama büyük rezerv ile.

Yorumlar & Soru-Cevap

(0)
Yorum yazmak için giriş yap.
Yorumlar yükleniyor...

Related Content