Sunucuda Python Sanal Ortam (venv) Kurulumu ve Yönetimi

Sunucuda Python sanal ortamlarının (venv) kurulumu ve yönetimi, geliştiriciler ve sistem yöneticileri için kritik bir süreçtir.

Sunucuda Python sanal ortamlarının (venv) kurulumu ve yönetimi, geliştiriciler ve sistem yöneticileri için kritik bir süreçtir. Python projelerinin bağımlılıklarını izole ederek çakışmaları önleyen venv, özellikle paylaşılan sunucu ortamlarında tutarlılık sağlar. Bu makalede, adım adım kurulum, yönetim teknikleri ve en iyi uygulamaları ele alacağız. Sanal ortamlar sayesinde, farklı projeler aynı sunucuda sorunsuz çalışabilir; örneğin, bir proje Django 4.x kullanırken diğeri Flask 2.x’i tercih edebilir. Bu izolasyon, üretim ortamlarında hata oranlarını düşürür ve dağıtım süreçlerini hızlandırır.

Sanal Ortamın Kurulumu

Sunucuda Python sanal ortamı oluşturmak için öncelikle Python 3’ün yüklü olduğundan emin olun. Çoğu Linux dağıtımında (Ubuntu, CentOS gibi) apt install python3-venv veya yum install python3-venv komutlarıyla gerekli modülü yükleyebilirsiniz. Ardından, proje dizininize gidin ve şu komutu çalıştırın: python3 -m venv ortam_adi. Bu komut, belirtilen isimde bir klasör oluşturur ve içine Python çalıştırıcısı, pip ve site-packages dizinini kopyalar. Oluşturulan ortam yaklaşık 10-20 MB yer kaplar ve ana Python kurulumunu etkilemez.

Aktivasyon için Linux/Unix tabanlı sunucularda kaynak/ortam_adi/bin/activate komutunu kullanın. Komut satırında ortam adı parantez içinde görünür, örneğin (ortam_adi)$. Bu noktada pip ile paket yükleyebilirsiniz. Deaktivasyon ise basitçe deactivate komutudur. Windows sunucularda ise ortam_adi\Scripts\activate kullanılır. Kurulum sırasında –system-site-packages bayrağı ekleyerek ana sistem paketlerine erişim sağlayabilirsiniz, ancak izolasyonu bozmamak için önerilmez. Bu adımlar, her proje için ayrı ortamlar oluşturmanızı sağlar ve sunucu yeniden başlatmalarında manuel aktivasyon gerektirir.

Paket Yönetimi ve Gereksinim Dosyaları

Gereksinim Dosyasının Oluşturulması

Sanal ortam aktifken yüklediğiniz paketleri kalıcı hale getirmek için pip freeze > requirements.txt komutunu çalıştırın. Bu dosya, tüm bağımlılıkları ve sürümlerini listeler; örneğin, numpy==1.24.3 gibi. Dosya metin tabanlıdır ve versiyon pin’leme ile tekrarlanabilirlik sağlar. Yeni bir sunucuda aynı ortamı kurmak için önce boş venv oluşturun, aktifleştirin ve pip install -r requirements.txt ile yükleyin. Bu işlem, geliştirme ve üretim arasında tutarlılık sağlar; yükleme süresi paket sayısına göre 1-5 dakika sürer.

Paket Yükseltme ve Temizleme

Paketleri güncellemek için pip install --upgrade paket_adi kullanın ve ardından requirements.txt’yi yenileyin. Gereksiz paketleri kaldırmak adına pip list ile inceleyin, pip uninstall paket_adi ile silin. Sanal ortamı tamamen silmek için klasörü rm komutuyla kaldırın. Bu yönetim, depolama alanını optimize eder ve güvenlik açıklarını kapatır; örneğin, eski pip sürümlerini pip install --upgrade pip ile güncelleyin.

Sunucu Üzerinde Otomatikleştirme ve Bakım

Sunucuda venv’yi otomatikleştirmek için betik dosyaları oluşturun. Örneğin, bir deploy.sh dosyasına aktivasyon, requirements yükleme ve uygulama başlatma adımlarını ekleyin: #!/bin/bash\nsource venv/bin/activate\npip install -r requirements.txt\npython app.py. Bu betiği chmod +x ile çalıştırılabilir hale getirin. Sistem servisleri için systemd unit dosyası tanımlayın; [Unit] ve [Service] bölümlerinde WorkingDirectory ve ExecStart=/path/to/venv/bin/python app.py belirtin. Yeniden başlatma için restart=always ekleyin. Bu yaklaşım, manuel müdahaleyi minimize eder ve uptime’ı artırır.

Bakım sırasında düzenli olarak venv’yi yedekleyin; tar -czf backup.tar.gz venv/ komutuyla sıkıştırın. Farklı Python sürümleri için pyenv gibi araçlar kullanmadan, doğrudan python3.10 -m venv ile spesifik versiyon seçin. Ortam bozulursa, requirements.txt’den yeniden oluşturun. Performans için –copies bayrağı yerine –symlinks kullanın, ancak paylaşılan sunucularda kopyalama tercih edin. Loglama ekleyerek hataları izleyin: python -m venv ortam_adi –prompt ORTAM.

Sonuç olarak, sunucuda Python venv kurulumu ve yönetimi, projelerin güvenilirliğini ve ölçeklenebilirliğini önemli ölçüde artırır. Bu adımları uygulayarak, bağımlılık çakışmalarını önleyebilir, dağıtımları hızlandırabilir ve ekip çalışmasını kolaylaştırabilirsiniz. Düzenli bakım ve otomasyonla, üretim ortamlarınızda sorunsuz Python uygulamaları çalıştırın.

Kategori: Sunucu Yönetimi
Yazar: Lorem
çerik: 495 kelime
Okuma Süresi: 4 dakika
Zaman: Bugün
Yayım: 24-02-2026
Güncelleme: 24-02-2026