Takip et

Sistem Güncelleme ve Temel Bağımlılıkların Kurulumu

Python, basit sözdizimi ve geniş kütüphane desteği sayesinde dünyanın en popüler programlama dillerinden biridir. Web geliştirmeden veri

Python, basit sözdizimi ve geniş kütüphane desteği sayesinde dünyanın en popüler programlama dillerinden biridir. Web geliştirmeden veri bilimine, yapay zekadan otomasyona kadar birçok alanda kullanılır. Debian 11 (Bullseye), kararlı ve güvenilir bir işletim sistemi olup, Python projeleriniz için mükemmel bir temel sağlar.

Bu rehberde, Debian 11 sisteminize Python 3’ü nasıl kuracağınızı ve verimli bir programlama ortamı oluşturmak için gerekli adımları (sanal ortamlar dahil) detaylı bir şekilde anlatacağız. Bu adımları takip ederek, Python projelerinizi güvenle geliştirebileceğiniz, izole ve yönetilebilir bir ortama sahip olacaksınız.

Sistem Güncelleme ve Temel Bağımlılıkların Kurulumu

Herhangi bir yazılım kurulumuna başlamadan önce, sisteminizin güncel olduğundan emin olmak en iyi adımdır. Bu, potansiyel uyumluluk sorunlarını önler ve en son güvenlik yamalarına sahip olmanızı sağlar.

Sistem Güncelleme

Terminali açın (Ctrl+Alt+T) ve aşağıdaki komutları çalıştırın:

sudo apt update
sudo apt upgrade -y
  • sudo apt update: Paket listelerinizi günceller, böylece sisteminiz mevcut en son paket sürümleri hakkında bilgi sahibi olur.
  • sudo apt upgrade -y: Mevcut yüklü paketlerinizi en yeni sürümlerine yükseltir. -y parametresi, yükseltme sırasında sorulan onay sorularına otomatik olarak “evet” yanıtı verir.

Gerekli Bağımlılıkların Kurulumu

Eğer ileride Python’u kaynaktan derlemeniz gerekirse veya bazı Python kütüphanelerinin derleme araçlarına ihtiyacı olursa, bu bağımlılıkları önceden kurmak faydalıdır. Genellikle Debian’da apt ile kurulum yaparken bu kadar detaya gerek kalmaz, ancak özellikle pyenv gibi araçlar kullanacaksanız önemlidir.

sudo apt install -y build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \
libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev

Bu komut, derleme araçları (build-essential) ve Python’un çeşitli modülleri için gerekli olabilecek kütüphaneleri kurar.

Python 3 Kurulumu

Debian 11, genellikle varsayılan olarak Python 3’ün bir sürümüyle gelir. Ancak, en güncel sürümü edinmek ve pip gibi temel araçları sağlamak için ek kurulum yapmanız gerekebilir.

Mevcut Python Sürümünü Kontrol Etme

İlk olarak, sisteminizde yüklü olan Python 3 sürümünü kontrol edelim:

python3 --version

Bu komut, yüklü Python 3 sürümünü (örn: Python 3.9.2) gösterecektir. Eğer herhangi bir çıktı alamazsanız veya sürüm çok eskiyse, devam edebiliriz.

APT ile Python 3 Kurulumu

Debian’da Python 3 ve paket yöneticisi pip‘i kurmanın en kolay ve önerilen yolu apt kullanmaktır:

sudo apt install python3 python3-pip -y
  • python3: Python 3 yorumlayıcısını kurar.
  • python3-pip: Python paketlerini yönetmek için kullanılan standart araç olan pip‘i kurar.

Kurulumdan sonra, Python ve pip sürümlerini tekrar kontrol edin:

python3 --version
pip3 --version

Artık Python 3 ve pip sisteminizde yüklü ve kullanıma hazır.

Python Sürümlerini Yönetmek (pyenv ile)

Bazı durumlarda, farklı projeler için farklı Python sürümlerine ihtiyacınız olabilir. Örneğin, bir proje Python 3.8 gerektirirken, başka bir proje Python 3.10 gerektirebilir. Bu senaryolar için pyenv harika bir araçtır.

pyenv, aynı makinede birden fazla Python sürümünü kolayca kurmanıza, kaldırmanıza ve bunlar arasında geçiş yapmanıza olanak tanır.

pyenv Kurulumu

Yukarıda kurduğumuz bağımlılıklar, pyenv‘in Python sürümlerini kaynaktan derlemesi için gereklidir. Şimdi pyenv‘i kuralım:

curl https://pyenv.run | bash

Bu komut, pyenv‘i ve ilgili eklentilerini otomatik olarak indirip kuran bir kurulum betiğini çalıştırır.

Kabuk Ortamını Yapılandırma

pyenv‘in doğru çalışması için, kabuk ortamınıza bazı ayarlar eklemeniz gerekir. Genellikle bu ayarlar ~/.bashrc dosyasına eklenir (eğer Zsh kullanıyorsanız ~/.zshrc).

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init --path)"\n  eval "$(pyenv virtualenv-init -)"\nfi' >> ~/.bashrc
source ~/.bashrc
  • İlk iki satır, PYENV_ROOT ortam değişkenini ayarlar ve pyenv yürütülebilir dosyalarının yolunu PATH’e ekler.
  • Üçüncü satır, pyenv‘i kabuğunuza başlatır ve pyenv virtualenv eklentisini etkinleştirir.
  • Son satır, değişikliklerin mevcut terminal oturumunuzda hemen etkili olmasını sağlar. Terminali kapatıp açmak da aynı etkiyi yaratır.

pyenv ile Python Sürümü Kurma

Şimdi pyenv kullanarak istediğiniz bir Python sürümünü kurabilirsiniz. Mevcut tüm sürümleri görmek için pyenv install --list komutunu kullanabilirsiniz. Örneğin, Python 3.10.6’yı kuralım:

pyenv install 3.10.6

Bu işlem biraz zaman alabilir, çünkü Python’u kaynaktan derleyecektir.

Python Sürümlerini Kullanma

  • Global Sürüm Ayarlama: Sistem genelinde varsayılan Python sürümünü ayarlamak için:
    pyenv global 3.10.6
  • Yerel Sürüm Ayarlama: Belirli bir proje dizini için Python sürümünü ayarlamak için (bu dizinde ve alt dizinlerinde geçerli olur):
    cd my_project_folder
    pyenv local 3.10.6
  • Mevcut Sürümleri Gösterme: Hangi Python sürümlerinin yüklü olduğunu ve hangisinin aktif olduğunu görmek için:
    pyenv versions

Sanal Ortam Kurulumu ve Kullanımı

Python geliştirmenin en iyi pratiklerinden biri, her proje için ayrı bir sanal ortam kullanmaktır. Sanal ortamlar, projelerinizin bağımlılıklarını izole eder ve sistem genelindeki Python kurulumunuzu temiz tutar. Bu, farklı projelerin farklı sürümlerde kütüphanelere ihtiyaç duyması durumunda çakışmaları önler.

Neden Sanal Ortam Kullanmalıyız?

  • Bağımlılık İzolasyonu: Her proje kendi bağımlılıklarına sahip olur, bu da “bağımlılık cehennemi”ni önler.
  • Temiz Sistem: Sistem genelindeki Python kurulumunuz, yalnızca projenize özel paketlerle şişmez.
  • Kolay Paylaşım: Projenizin bağımlılıklarını requirements.txt dosyasıyla kolayca paylaşabilirsiniz.
  • Versiyon Kontrolü: Farklı projeler için aynı kütüphanenin farklı versiyonlarını kullanabilirsiniz.

Sanal Ortam Oluşturma

Python 3.3 ve sonraki sürümleri, yerleşik olarak venv modülü ile sanal ortam desteği sunar. Bu, ayrı bir araç kurmanıza gerek kalmadan sanal ortam oluşturabileceğiniz anlamına gelir.

Bir proje dizini oluşturun ve içine girin:

mkdir my_python_project
cd my_python_project

Şimdi bir sanal ortam oluşturalım. Genellikle sanal ortam dizinine .venv veya venv gibi bir isim verilir:

python3 -m venv .venv

Bu komut, .venv adında bir dizin oluşturacak ve bu dizinin içine Python yorumlayıcısının bir kopyasını, pip’i ve diğer yardımcı dosyaları yerleştirecektir.

Sanal Ortamı Etkinleştirme

Sanal ortamı kullanmaya başlamak için onu etkinleştirmeniz gerekir:

source .venv/bin/activate

Terminal istemcinizin başında (.venv) gibi bir ibare göreceksiniz. Bu, sanal ortamın etkin olduğunu gösterir. Artık yükleyeceğiniz tüm Python paketleri bu sanal ortamın içine kurulacaktır.

Paket Kurulumu

Sanal ortam etkinleştirildikten sonra, pip komutu doğrudan bu ortama paket yükleyecektir. Örneğin, popüler requests kütüphanesini kuralım:

pip install requests

Bu paket, sistem genelindeki Python kurulumunuza değil, yalnızca my_python_project/.venv içine kurulur.

Sanal Ortamdan Çıkma

Sanal ortamdan çıkmak ve sistem genelindeki Python ortamına dönmek için basitçe deactivate komutunu kullanın:

deactivate

Terminal istemcinizdeki (.venv) ibaresi kaybolacaktır.

İlk Python Programınızı Çalıştırma

Python kurulumunuzu ve sanal ortamınızı test etmek için basit bir Python programı yazıp çalıştıralım.

Python Dosyası Oluşturma

Öncelikle, proje dizininize geri dönün ve sanal ortamınızı etkinleştirin:

cd my_python_project
source .venv/bin/activate

Şimdi bir metin düzenleyici kullanarak (örneğin nano veya vim) hello_world.py adında bir dosya oluşturalım:

nano hello_world.py

Dosyanın içine aşağıdaki kodu yapıştırın:

# hello_world.py
import requests

def main():
    print("Merhaba, Debian 11'de Python!")
    print("Requests kütüphanesi ile bir web sitesine bağlanalım...")
    try:
        response = requests.get("https://www.google.com", timeout=5)
        print(f"Google'ın durumu: {response.status_code}")
        if response.status_code == 200:
            print("Bağlantı başarılı!")
        else:
            print("Bağlantı başarısız oldu.")
    except requests.exceptions.ConnectionError as e:
        print(f"Bağlantı hatası oluştu: {e}")
    except requests.exceptions.Timeout:
        print("İstek zaman aşımına uğradı.")
    except Exception as e:
        print(f"Beklenmeyen bir hata oluştu: {e}")

if __name__ == "__main__":
    main()

Dosyayı kaydedin ve kapatın (Nano’da: Ctrl+O, Enter, Ctrl+X).

Programı Çalıştırma

Sanal ortamınız etkin durumdayken, programı çalıştırmak için aşağıdaki komutu kullanın:

python hello_world.py

Çıktı aşağıdaki gibi olacaktır:

Merhaba, Debian 11'de Python!
Requests kütüphanesi ile bir web sitesine bağlanalım...
Google'ın durumu: 200
Bağlantı başarılı!

Bu çıktı, hem Python kurulumunuzun hem de sanal ortamınızın ve requests kütüphanesinin doğru çalıştığını gösterir.

İpucu: Eğer betiğinizi doğrudan çalıştırılabilir hale getirmek isterseniz, dosyanın başına “shebang” satırı ekleyebilir ve yürütme izni verebilirsiniz:

#!/usr/bin/env python3

... (geri kalan kod) ...

Ardından:

chmod +x hello_world.py
./hello_world.py

Sonuç

Tebrikler! Debian 11 sisteminize Python 3’ü başarıyla kurdunuz ve verimli bir programlama ortamı oluşturdunuz. Artık sanal ortamların gücünü kullanarak projelerinizi izole edebilir, farklı Python sürümlerini yönetebilir ve bağımlılık çakışmaları endişesi olmadan geliştirme yapabilirsiniz. Python yolculuğunuzda başarılar dileriz!

Sıkça Sorulan Sorular (SSS)

S: Debian 11’de neden python yerine python3 kullanmalıyım?
C: Debian gibi bazı Linux dağıtımlarında python komutu varsayılan olarak Python 2’ye veya hiçbir şeye işaret etmeyebilir. Python 2 artık desteklenmediği için, modern geliştirme için daima python3 komutunu kullanarak Python 3 yorumlayıcısını çağırmalısınız. Sanal ortamlar etkinleştirildiğinde ise genellikle sadece python kullanmak yeterlidir, çünkü bu komut sanal ortamın Python 3 yorumlayıcısına işaret eder.

S: pip nedir ve neden pip3 kullanmalıyım?
C: pip, Python paketlerini kurmak ve yönetmek için kullanılan standart paket yöneticisidir. pip3 ise özellikle Python 3 için olan pip sürümünü ifade eder. Sisteminizde hem Python 2 hem de Python 3 yüklüyse, hangi Python sürümüne paket kurduğunuzdan emin olmak için pip3 kullanmak önemlidir. Sanal ortamlar etkinleştirildiğinde, sadece pip kullanmak yeterlidir, çünkü bu komut sanal ortamın Python 3 yorumlayıcısına bağlı pip‘i kullanır.

S: Yüklü bir Python paketini nasıl kaldırabilirim?
C: Sanal ortamınız etkin durumdayken veya sistem genelinden kaldırmak istiyorsanız, pip uninstall paket_adi komutunu kullanabilirsiniz. Örneğin: pip uninstall requests.

S: Sanal ortamımı silmek istersem ne yapmalıyım?
C: Öncelikle sanal ortamdan çıkın (deactivate). Ardından, sanal ortamın bulunduğu dizini (örneğin .venv) silmeniz yeterlidir: rm -rf .venv. Bu, tüm yüklü paketleri ve sanal ortamın kendisini kaldırır.

S: Hangi metin düzenleyiciyi veya IDE’yi kullanmalıyım?
C: Bu tamamen kişisel tercihe bağlıdır. Popüler seçenekler şunlardır:

  • VS Code: Geniş özellik setine sahip, hafif ve çok yönlü bir IDE (Entegre Geliştirme Ortamı). Python geliştirmesi için mükemmel uzantılara sahiptir.
  • Sublime Text: Hızlı ve güçlü bir metin düzenleyici.
  • Atom: GitHub tarafından geliştirilen özelleştirilebilir bir metin düzenleyici.
  • PyCharm: Özellikle Python için tasarlanmış, güçlü özelliklere sahip bir IDE (Community sürümü ücretsizdir).
  • Nano / Vim: Terminal tabanlı, hafif metin düzenleyiciler. Küçük değişiklikler veya sunucu ortamlarında hızlı düzenlemeler için kullanışlıdır.

Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Gönder

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.
Mobil sürümden çık