TR/EN
Blog

Python Nedir? Linux Sunucuya Python Nasıl Kurulur?

Yayın tarihi: · 12 dk okuma

Yazılım öğrenmeye başlayanlara en çok önerilen dil hangisi diye sorsanız, cevap büyük ihtimalle aynı olur: Python. Peki Python nedir, neden bu kadar popüler ve bir uygulamayı yayına almak için Python sunucuya nasıl kurulur? Bu yazıda önce Python'u tanıyıp tablolarla karşılaştırıyoruz, ardından bir Linux sunucuya kurulumunu ve basit bir uygulamayı yayına almayı adım adım anlatıyoruz.

Python Nedir?

Python, 1991 yılında Guido van Rossum tarafından yayınlanan, açık kaynak ve ücretsiz bir programlama dili. En büyük özelliği okunabilirliği: kod neredeyse İngilizce bir metin gibi okunuyor, süslü parantezler yerine girintilerle bloklar belirleniyor. Yorumlanan (interpreted) bir dil olduğu için kodu derlemeden doğrudan çalıştırabiliyorsunuz.

Küçük bir örnek:

def selamla(isim):
    return f"Merhaba, {isim}!"

sunucular = ["web-1", "web-2", "db-1"]
for s in sunucular:
    print(selamla(s))

Programlamayla hiç uğraşmamış biri bile bu kodun ne yaptığını aşağı yukarı tahmin edebiliyor. Python'un sevilmesinin en büyük sebebi de bu.

Python Neden Bu Kadar Popüler?

  • Öğrenmesi kolay: Sade sözdizimi sayesinde yeni başlayanlar hızlıca ilerliyor.
  • Dev kütüphane ekosistemi: Hemen her iş için hazır bir paket var; PyPI'da yüz binlerce paket bulunuyor.
  • Çok yönlü: Web, veri analizi, yapay zeka, otomasyon... aynı dille çok farklı işler yapılabiliyor.
  • Büyük topluluk: Takıldığınız hemen hemen herşeyin cevabı internette bir yerde var.

Python Nerelerde Kullanılır?

AlanPopüler araçlarÖrnek
Web geliştirmeDjango, Flask, FastAPIWeb siteleri, REST API'ler, yönetim panelleri
Veri analizipandas, NumPy, JupyterRaporlama, veri temizleme, görselleştirme
Yapay zeka ve makine öğrenmesiPyTorch, scikit-learn, Hugging FaceModel eğitimi, sohbet botları, tahmin modelleri
Otomasyon ve scriptStandart kütüphane, requestsDosya işleme, rapor gönderme, zamanlanmış görevler
DevOps ve sistem yönetimiAnsible, boto3, FabricSunucu yapılandırma, bulut otomasyonu

Python ile Diğer Diller Karşılaştırması

PythonJavaScript (Node.js)PHPGo
Öğrenme kolaylığıÇok kolayKolayKolayOrta
Çalışma hızıOrtaİyiİyiÇok iyi
Güçlü olduğu alanVeri, yapay zeka, otomasyon, APIWeb, gerçek zamanlı uygulamalarWeb siteleri, CMS (WordPress)Yüksek performanslı servisler, altyapı araçları
Sunucuya kurulumKolay (Linux'ta çoğunlukla hazır)KolayKolayTek dosya halinde derlenir, çok kolay

Python saf hızda en hızlı dil değil, ama ağır hesaplamaların çoğu zaten C ile yazılmış kütüphanelerde (NumPy, PyTorch gibi) yapıldığı için pratikte bu genelde sorun olmuyor.

Python Sunucuya Nasıl Kurulur? (Ubuntu 24.04)

İyi haber: çoğu Linux dağıtımında Python 3 zaten kurulu geliyor; Ubuntu 24.04'te Python 3.12 hazır. Yapmanız gereken, paket yöneticisi pip'i ve sanal ortam desteğini eklemek.

1. Mevcut sürümü kontrol edin ve eksikleri kurun

python3 --version
sudo apt update
sudo apt install -y python3-pip python3-venv

2. Sanal ortam (venv) ile çalışın

Ubuntu'nun yeni sürümlerinde sistem Python'una doğrudan pip install yapmaya çalışırsanız externally-managed-environment hatası alırsınız. Bu bir hata değil, bilinçli bir koruma: sistem araçlarının kullandığı paketleri bozmamanız için. Doğru yol her proje için ayrı bir sanal ortam kullanmak:

mkdir -p ~/uygulama && cd ~/uygulama
python3 -m venv .venv
source .venv/bin/activate      # sanal ortamı etkinleştirir
pip install --upgrade pip
pip install fastapi uvicorn
deactivate                     # işiniz bitince çıkmak için

Sanal ortamın içine kurduğunuz paketler sadece o projeye ait oluyor; farklı projeler farklı sürümleri birbirini bozmadan kullanabiliyor.

3. Farklı bir Python sürümü gerekirse

Projeniz sistemdekinden farklı bir Python sürümü istiyorsa, sistem Python'una dokunmadan istediğiniz sürümü kurmanın en pratik yolu uv. Hem çok hızlı bir paket yöneticisi, hem de Python sürümlerini kendisi indirip yönetiyor:

curl -LsSf https://astral.sh/uv/install.sh | sh
source ~/.bashrc               # uv komutunun PATH'e eklenmesi için

uv python install 3.13         # istediğiniz sürümü indirir
uv venv --python 3.13
source .venv/bin/activate
uv pip install fastapi uvicorn

Python Kurulum Yöntemleri Karşılaştırması

YöntemNe zaman?Not
apt (sistem paketi)Sistemdeki sürüm işinizi görüyorsaEn kolay; paketleri venv içine kurun
venvHer proje içinPython'la birlikte gelir, ek kurulum gerekmez
uvFarklı sürüm gerekiyorsa, hızlı kurulum istiyorsanızSürüm + sanal ortam + paket yönetimi tek araçta
pyenvAynı sunucuda birçok sürümle çalışıyorsanızSürümleri kaynak koddan derler, biraz daha uzun sürer
DockerOrtamın her yerde birebir aynı olmasını istiyorsanızResmi python imajlarıyla en tutarlı yöntem

Python Uygulamasını Sunucuda Yayına Almak

Kurulum tamam, şimdi basit bir web API'sini yayına alalım. API'nin ne olduğunu merak ediyorsanız API nedir yazımıza bakabilirsiniz.

1. Uygulamayı yazın

Proje klasöründe main.py adında bir dosya oluşturun:

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def anasayfa():
    return {"mesaj": "Merhaba VECDC!"}

2. Çalıştırıp test edin

source .venv/bin/activate
uvicorn main:app --host 0.0.0.0 --port 8000
# tarayıcıdan http://SUNUCU_IP:8000 adresini açın

Ekranda JSON bir yanıt görüyorsanız uygulama çalışıyor. Ama terminali kapattığınız an duracak; kalıcı hale getirelim.

3. systemd ile kalıcı servis yapın

/etc/systemd/system/uygulama.service dosyasını oluşturun (kullanıcı adını ve yolu kendinize göre düzenleyin):

[Unit]
Description=Python uygulamam
After=network.target

[Service]
User=deploy
WorkingDirectory=/home/deploy/uygulama
ExecStart=/home/deploy/uygulama/.venv/bin/uvicorn main:app --host 127.0.0.1 --port 8000 --workers 2
Restart=always

[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now uygulama
sudo systemctl status uygulama

Artık uygulama sunucu yeniden başlasa bile kendiliğinden açılıyor, çökerse otomatik yeniden başlıyor.

4. Nginx ile dışarıya açın

Uygulamayı doğrudan internete açmak yerine önüne Nginx koymak en doğrusu; SSL, sıkıştırma ve statik dosyalar gibi işleri Nginx üstleniyor. Basit bir yapılandırma:

server {
    listen 80;
    server_name ornek.com;

    location / {
        proxy_pass http://127.0.0.1:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Bu adımdan sonra alan adınıza ücretsiz bir SSL sertifikası (Let's Encrypt) eklemeyi unutmayın.

Daha düzenli bir yol isterseniz uygulamayı Docker imajı olarak paketleyip aynı şekilde her ortamda çalıştırabilirsiniz. Detaylar için Docker nedir yazımıza göz atın.

Sık Karşılaşılan Sorunlar

Hata / belirtiSebepÇözüm
error: externally-managed-environmentSistem Python'una paket kurulmaya çalışılıyorSanal ortam (venv) kullanın
python: command not foundUbuntu'da komutun adı python3python3 yazın ya da sudo apt install python-is-python3
ModuleNotFoundErrorSanal ortam etkin değil ya da paket kurulmamışsource .venv/bin/activate, sonra paketi kurun
Address already in usePort başka bir uygulama tarafından kullanılıyorFarklı bir port seçin ya da diğer süreci durdurun
Servis başlamıyorYol veya kullanıcı hatalıjournalctl -u uygulama ile loglara bakın

Python Uygulamaları İçin Hangi Sunucu?

Küçük ve orta ölçekli bir Python web uygulaması, API yada otomasyon scripti için büyük bir sunucuya ihtiyacınız yok. VECDC sanal sunucuları NVMe disk ve adanmış CPU ile aylık $6'dan başlıyor, otomatik kurulumla yaklaşık 5 dakikada hazır oluyor. Docker ile çalışacaksanız Docker kurulu gelen Developer VDS işinizi daha da kolaylaştırır. Python ile yapay zeka modeli çalıştırmayı düşünüyorsanız yapay zeka sanal sunucuda nasıl çalışır yazımız da işinize yarayabilir.

Sık Sorulan Sorular

Python ücretsiz mi?

Evet. Python açık kaynaklı ve tamamen ücretsizdir; ticari projelerde de lisans ücreti ödemeden kullanabilirsiniz. Paketlerin çoğu da ücretsiz ve açık kaynaktır.

Python 2 mi, Python 3 mü öğrenmeliyim?

Kesinlikle Python 3. Python 2'nin desteği Ocak 2020'de sona erdi ve artık güvenlik güncellemesi almıyor. Yeni projelerin tamamı Python 3 ile yazılmalı.

pip nedir?

pip, Python'un paket yöneticisidir. PyPI üzerindeki kütüphaneleri pip install komutuyla indirip kurmanızı sağlar. Sunucularda paketleri bir sanal ortam (venv) içine kurmanız önerilir.

Python web sitesi yapmak için uygun mu?

Evet. Django, Flask ve FastAPI gibi framework'lerle web siteleri, yönetim panelleri ve API'ler geliştirilebilir. Birçok büyük platformun arka tarafında Python kullanılıyor.

Kısacası

Python, öğrenmesi kolay ama web'den yapay zekaya kadar çok geniş bir alanda kullanılan güçlü bir dil. Linux sunucularda çoğunlukla hazır geliyor; sanal ortamla düzgün kurduğunuzda, systemd ve Nginx ile birkaç adımda uygulamanızı yayına alabiliyorsunuz. Kurulumda takıldığınız birşey olursa bize yazın, yardımcı olalım.

Sanal Sunucunuz 5 Dakikada Hazır

Adanmış kaynaklı NVMe sanal sunucu paketleri aylık $6'dan başlıyor.

Paketleri İncele →