Takip et

Neden Ubuntu 18.04 ve Python 3 Tercih Edilmeli?

Ubuntu 18.04’te Python 3 Kurulumu ve Geliştirme Ortamı Hazırlığı [Hızlı Başlangıç]

Ubuntu 18.04 LTS üzerinde Python 3 programlama ortamınızı kurmak ve yapılandırmak karmaşık görünebilir, ancak doğru adımlarla bu süreci hızlı ve sorunsuz bir şekilde tamamlayabilirsiniz. Bu rehber, Python 3’ü yüklemekten sanal ortamları yönetmeye ve popüler bir geliştirme ortamı kurmaya kadar her şeyi adım adım açıklayarak, hem yeni başlayanlar hem de deneyimli geliştiriciler için sağlam bir temel oluşturmanıza yardımcı olacaktır. Artık bağımlılık çatışmalarıyla uğraşmadan projelerinizi hayata geçirebilirsiniz!

Neden Ubuntu 18.04 ve Python 3 Tercih Edilmeli?

Günümüzün hızla değişen teknoloji dünyasında, güvenilir ve stabil bir geliştirme ortamına sahip olmak, her yazılımcının önceliklerinden biridir. İşte tam bu noktada Ubuntu 18.04 (Bionic Beaver) ve Python 3 ikilisi devreye giriyor. Ubuntu 18.04, uzun süreli destek (LTS) sunan bir dağıtım olması sebebiyle, güncel kalırken aynı zamanda sistem kararlılığını koruma konusunda eşsiz bir avantaj sağlar. Bu, özellikle sunucu ortamlarında veya uzun soluklu projelerde çalışırken kritik öneme sahiptir. Güvenlik güncellemeleri ve hata düzeltmeleri beş yıl boyunca düzenli olarak sağlanır, bu da onu profesyonel kullanım için ideal bir seçim haline getirir.

Python 3 ise modern yazılım geliştirmenin vazgeçilmez dillerinden biridir. Python 2’nin ömrü dolmuş ve artık resmi olarak desteklenmemektedir, bu nedenle yeni projelere başlarken veya mevcut sistemleri güncellerken Python 3 kullanmak en iyi uygulamadır. Python 3, daha temiz bir sözdizimi, gelişmiş Unicode desteği ve daha birçok modern özellik sunar. Veri bilimi, makine öğrenimi, web geliştirme (Django, Flask), otomasyon ve sistem yönetimi gibi geniş bir yelpazede kullanılmaktadır. Örneğin, bir veri analisti, Ubuntu 18.04 üzerinde kurduğu Python 3 ortamında, büyük veri kümelerini analiz etmek için Pandas ve NumPy gibi kütüphaneleri sorunsuz bir şekilde kullanabilir. Stabil işletim sistemi, kütüphanelerin uyumluluğunu ve performansını garanti altına alırken, Python 3’ün zengin ekosistemi, karmaşık analiz görevlerini basitleştirir.

Bu kombinasyonun bir diğer önemli avantajı, geniş topluluk desteğidir. Herhangi bir sorunla karşılaştığınızda, internet üzerinde binlerce dokümantasyon, forum ve çözüm bulabilirsiniz. Bu, özellikle yeni başlayanlar için öğrenme sürecini hızlandıran ve geliştiriciler için problem çözme süresini kısaltan paha biçilmez bir kaynaktır. Ayrıca, Ubuntu’nun paket yöneticisi APT (Advanced Package Tool), Python ve ilgili kütüphanelerin kurulumunu inanılmaz derecede kolaylaştırır. Tek bir komutla gerekli tüm bağımlılıkları yükleyebilir, sisteminizi güncel tutabilir ve projeleriniz için gerekli altyapıyı saniyeler içinde hazırlayabilirsiniz. Tüm bu nedenlerle, Ubuntu 18.04 ve Python 3, hem güvenilirlik hem de modern geliştirme ihtiyaçları açısından güçlü ve mantıklı bir tercihtir.

Python 3 Kurulumuna Başlarken: Sistemi Hazırlama Adımları Nelerdir?

Ubuntu 18.04 üzerinde Python 3’ü sorunsuz bir şekilde kurmak ve verimli bir geliştirme ortamı oluşturmak için öncelikle sisteminizi doğru şekilde hazırlamanız büyük önem taşır. Bu hazırlık adımları, olası bağımlılık sorunlarını önleyecek ve ileride karşılaşabileceğiniz hataları minimize edecektir. İlk ve en önemli adım, sisteminizin paket listelerini güncellemek ve mevcut paketleri en son sürümlerine yükseltmektir. Bu işlem, hem güvenlik açıklarını kapatır hem de yeni yazılımların doğru bağımlılıklarla kurulmasını sağlar.

Terminali açarak (Ctrl + Alt + T kısayolu ile) aşağıdaki komutları çalıştırmanız yeterlidir:


sudo apt update
sudo apt upgrade -y
    

sudo apt update komutu, sisteminizin paket depolarındaki en son paket bilgilerini getirir. Ardından sudo apt upgrade -y komutu, indirilen bu bilgilere dayanarak sisteminizdeki tüm yüklü paketleri günceller. -y bayrağı, tüm sorulara otomatik olarak “evet” yanıtı vermenizi sağlar, bu da uzun süreli güncellemelerde komut satırı başında beklemenizi engeller.

Sisteminizi güncelledikten sonra, Python’ın bazı modüllerini ve kütüphanelerini derlemek için gerekli olan geliştirme araçlarını kurmanız gerekebilir. Özellikle Python ile C veya C++ uzantıları kullanan kütüphanelerle çalışırken (örneğin, veri bilimi kütüphaneleri gibi), bu araçlar vazgeçilmezdir. build-essential paketi, GCC derleyicisi, make ve diğer gerekli araçları içerir. Ayrıca, Python’ın kendi başlık dosyalarını ve geliştirme kütüphanelerini içeren python3-dev paketi de kurulmalıdır. Bu paketler, Python’ın farklı kütüphaneleriyle etkileşim kurarken veya kendi C uzantılarınızı yazarken kritik rol oynar.


sudo apt install build-essential libssl-dev libffi-dev python3-dev -y
    

libssl-dev ve libffi-dev gibi ek kütüphaneler, özellikle şifreleme ve yabancı fonksiyon arayüzleri gibi alanlarda Python uygulamaları geliştirirken gerekli olabilir. Bu ön hazırlık adımları, Python kurulumunuzun sağlam bir temel üzerine oturmasını ve ileride karşılaşabileceğiniz uyumluluk sorunlarını en aza indirmesini sağlar. Bir web geliştiricisi olarak düşünün; Flask veya Django gibi çerçevelerle çalışırken, bu geliştirme araçları, bazı paketlerin sorunsuz bir şekilde derlenmesi ve kurulması için hayati öneme sahiptir. Bu adımları atlamak, ilerleyen süreçlerde saatlerinizi alabilecek hatalara yol açabilir. Dolayısıyla, bu başlangıç adımlarına titizlikle uymak, başarılı bir geliştirme ortamının anahtarıdır.

Ubuntu 18.04 Üzerine Python 3 ve Pip Nasıl Kurulur?

Sisteminiz artık Python 3 kurulumu için hazır. Ubuntu 18.04, varsayılan olarak Python 3’ün belirli bir sürümüyle (genellikle 3.6 veya 3.7) birlikte gelir. Bu, çoğu temel kullanım senaryosu için yeterli olacaktır. Öncelikle, sisteminizde zaten hangi Python 3 sürümünün yüklü olduğunu kontrol etmek iyi bir başlangıçtır:


python3 --version
    

Bu komut, yüklü Python 3 sürümünü gösterecektir. Eğer çıkan sürüm sizin için yeterliyse, ek bir kurulum yapmanıza gerek kalmaz. Ancak, bazı durumlarda Python’ın daha güncel bir sürümüne ihtiyaç duyabilirsiniz. Ubuntu’nun varsayılan depoları genellikle en son sürümleri içermez. Bu durumda, deadsnakes PPA (Personal Package Archive) gibi üçüncü taraf depoları kullanabiliriz. Ancak bu makalede, Ubuntu’nun kendi depolarındaki stabil ve test edilmiş sürümlerine odaklanacağız, çünkü bu, çoğu kullanıcı için en güvenli ve sorunsuz yoldur.

Eğer Python 3 kurulu değilse veya varsayılan sürümden daha farklı bir versiyonu kurmak isterseniz (örneğin, deadsnakes PPA üzerinden daha yeni bir sürüm), aşağıdaki adımları takip edebilirsiniz. Ancak unutmayın, Ubuntu 18.04 genellikle Python 3.6 veya 3.7 ile gelir ve bu sürüm genellikle birçok uygulama için yeterlidir. Varsayılan sürümü kullanmak, sistem kararlılığı açısından daha iyidir.


sudo apt install python3 -y
    

Bu komut, Ubuntu’nun varsayılan deposundan Python 3’ü yükler. Kurulum tamamlandıktan sonra, tekrar python3 --version komutunu çalıştırarak kurulumu doğrulayabilirsiniz.

Uzman İpucu: Ubuntu 18.04’te Python 2 de yüklü olabilir. Komut satırında python yazdığınızda Python 2’yi, python3 yazdığınızda ise Python 3’ü çalıştırdığınızdan emin olun. Karışıklığı önlemek için her zaman açıkça python3 kullanmak en iyi uygulamadır.

Pip: Python Paket Yöneticisi Kurulumu

Python projeleri geliştirirken, üçüncü taraf kütüphaneleri kullanmak neredeyse kaçınılmazdır. Bu kütüphaneleri kolayca yönetmek ve kurmak için Python’ın standart paket yöneticisi olan pip‘e ihtiyacımız var. pip, Python Package Index (PyPI) üzerinde barındırılan binlerce paketi saniyeler içinde indirmenizi ve projenize entegre etmenizi sağlar. Ubuntu 18.04’te pip‘i kurmak da oldukça basittir:


sudo apt install python3-pip -y
    

Bu komut, Python 3 için özel olarak tasarlanmış pip sürümünü yükler. Kurulum tamamlandıktan sonra, pip‘in doğru şekilde yüklendiğini ve Python 3 ile ilişkilendirildiğini doğrulamak için aşağıdaki komutu kullanabilirsiniz:


pip3 --version
    

Eğer pip‘in sürüm bilgisi doğru bir şekilde görüntüleniyorsa, artık Python kütüphanelerini kolayca kurmaya hazırsınız demektir. Örneğin, bir web uygulaması geliştirmek istiyorsanız, Flask çerçevesini şu şekilde kurabilirsiniz:


pip3 install Flask
    

Bu adım, Python geliştirme ortamınızın temel taşlarından biridir. pip olmadan, kütüphane yönetimi manuel ve zahmetli bir hal alırken, pip sayesinde bu süreç tamamen otomatikleşir. Bir makine öğrenimi projesi üzerinde çalışan bir geliştirici, Scikit-learn veya TensorFlow gibi kütüphaneleri saniyeler içinde kurarak doğrudan kod yazmaya başlayabilir. Bu da geliştirme sürecinin verimliliğini önemli ölçüde artırır ve projelerin daha hızlı ilerlemesini sağlar.

Sanal Ortamlar ile Bağımlılık Yönetimi: Neden ve Nasıl?

Python geliştirmenin en kritik ve çoğu zaman göz ardı edilen yönlerinden biri, projeler arası bağımlılık yönetimini sağlamaktır. Birden fazla Python projesi üzerinde çalışırken, her bir projenin farklı kütüphane versiyonlarına ihtiyaç duyması oldukça yaygın bir senaryodur. Örneğin, bir projeniz Flask’ın 1.x sürümünü kullanırken, başka bir projeniz Flask’ın 2.x sürümünü gerektirebilir. Bu durumda, tüm kütüphaneleri global olarak sisteminize kurmak, “bağımlılık çatışmaları” adı verilen sorunlara yol açar. İşte tam bu noktada Python sanal ortamları devreye girer.

Sanal ortamlar (Virtual Environments), her proje için izole edilmiş bir Python ortamı oluşturmanıza olanak tanır. Bu, her projenin kendi bağımlılıklarını ve kütüphane versiyonlarını global sistemden veya diğer projelerden etkilenmeden yönetebileceği anlamına gelir. Her sanal ortam, kendi Python yorumlayıcısına ve pip kopyasına sahiptir. Bu sayede, bir projenin bağımlılıklarını güncellediğinizde veya yeni bir kütüphane kurduğunuzda, bu değişiklikler sadece o sanal ortamı etkiler, diğer projelerinizi veya sisteminizdeki global Python kurulumunu bozmaz.

Sanal Ortam Oluşturma ve Yönetme

Python 3.3 ve sonraki sürümlerle birlikte gelen venv modülü, sanal ortam oluşturmak için en yaygın ve önerilen yöntemdir. Harici bir araç kurmanıza gerek kalmadan doğrudan Python ile entegre çalışır. Bir proje için sanal ortam oluşturmak oldukça basittir. Öncelikle, projenizin kök dizinine gidin. Ardından aşağıdaki komutu kullanarak yeni bir sanal ortam oluşturun:


mkdir my_python_project
cd my_python_project
python3 -m venv venv
    

Burada my_python_project projenizin adı, venv ise oluşturulacak sanal ortamın dizin adıdır. Genellikle sanal ortam dizinine venv veya .venv gibi isimler verilir, ancak dilediğiniz ismi kullanabilirsiniz.

Uzman İpucu: Sanal ortam dizinini (örneğin venv/) versiyon kontrol sisteminize (Git gibi) eklememeye özen gösterin. Bunun yerine, projenin bağımlılıklarını requirements.txt dosyasına kaydedin ve bu dosyayı Git’e ekleyin.

Sanal Ortamı Etkinleştirme ve Devre Dışı Bırakma

Sanal ortamı oluşturduktan sonra, onu etkinleştirmeniz gerekir. Etkinleştirme işlemi, terminalinizin PATH değişkenini değiştirerek, python ve pip komutlarının artık sanal ortamdaki versiyonları işaret etmesini sağlar. Etkinleştirmek için:


source venv/bin/activate
    

Terminalinizin başında (genellikle parantez içinde) sanal ortamınızın adını (bu örnekte (venv)) görmelisiniz. Bu, sanal ortamın başarıyla etkinleştirildiği anlamına gelir. Artık bu terminal oturumunda kuracağınız tüm Python paketleri, global sistem yerine bu sanal ortama yüklenecektir. Örneğin, Flask’ı kurmak için:


(venv) pip install Flask
    

İşiniz bittiğinde veya başka bir projeye geçmeniz gerektiğinde sanal ortamı devre dışı bırakmak için:


(venv) deactivate
    

Terminalinizin başındaki (venv) ibaresi kaybolacaktır. Bu, global Python ortamına geri döndüğünüz anlamına gelir. Sanal ortamların kullanımı, özellikle büyük ve karmaşık projelerde veya farklı projeler arasında geçiş yaparken geliştirme sürecini önemli ölçüde basitleştirir ve olası sorunları ortadan kaldırır. Bu yaklaşım, bir veri bilimci için farklı analizler için farklı kütüphane versiyonlarını kolayca yönetmesini sağlarken, bir web geliştiricisi için farklı web uygulamalarını bağımsız bir şekilde geliştirmesine olanak tanır.

Bağımlılıkları Yönetme: requirements.txt

Sanal ortamlarla çalışırken, projenizin bağımlılıklarını bir dosyada listelemek iyi bir uygulamadır. Bu dosya genellikle requirements.txt olarak adlandırılır. Bu sayede, projenizi başka bir geliştiriciyle paylaştığınızda veya yeni bir makinede kurduğunuzda, tüm bağımlılıkları tek bir komutla kolayca kurabilirsiniz. Etkinleştirilmiş bir sanal ortamdayken, mevcut tüm paketleri listelemek için:


(venv) pip freeze > requirements.txt
    

Bu komut, sanal ortamınızda yüklü olan tüm paketlerin adlarını ve versiyonlarını requirements.txt dosyasına yazar. Yeni bir ortamda bu bağımlılıkları kurmak için ise:


(venv) pip install -r requirements.txt
    

Bu yöntem, projelerinizin taşınabilirliğini ve yeniden üretilebilirliğini artırır, böylece takım çalışmasını ve proje dağıtımını çok daha verimli hale getirir. Sanal ortamlar, Python geliştirme sürecinizin ayrılmaz bir parçası olmalı ve her yeni proje için mutlaka kullanılmalıdır.

Popüler Bir IDE ile Geliştirme Ortamı Kurulumu: VS Code Nasıl Yapılandırılır?

Python 3 ve sanal ortamları kurduktan sonra, kod yazmak, hata ayıklamak ve projelerinizi yönetmek için güçlü bir Entegre Geliştirme Ortamı (IDE) veya gelişmiş bir kod düzenleyiciye ihtiyacınız olacak. Günümüzde Python geliştiricileri arasında en popüler seçeneklerden biri Microsoft Visual Studio Code (VS Code)’dur. Hafif yapısı, zengin eklenti ekosistemi ve mükemmel Python entegrasyonu sayesinde, VS Code modern Python geliştirme için ideal bir araçtır.

VS Code Kurulumu

Ubuntu 18.04 üzerine VS Code kurmanın birkaç yolu vardır. En kolay ve önerilen yol, Snap paket yöneticisini kullanmaktır:


sudo snap install --classic code
    

Bu komut, VS Code’u sisteminize kuracaktır. Kurulum tamamlandıktan sonra, uygulamalar menünüzden “Visual Studio Code”u arayarak veya terminale code yazarak başlatabilirsiniz.

VS Code’u Python Geliştirme İçin Yapılandırma

VS Code’u ilk açtığınızda, Python geliştirme için bazı eklentileri yüklemeniz gerekecektir. Sol taraftaki “Uzantılar” (Extensions) simgesine tıklayın (veya Ctrl+Shift+X tuşlarına basın) ve arama çubuğuna “Python” yazın. Microsoft tarafından geliştirilen “Python” eklentisini (genellikle en üstte çıkar ve mavi bir Python logosu vardır) bulun ve “Install” düğmesine tıklayın. Bu eklenti, otomatik tamamlama, linting, hata ayıklama ve sanal ortam entegrasyonu gibi birçok temel Python geliştirme özelliğini sağlar.

Eklentiyi kurduktan sonra, VS Code’u projenizle entegre etmeniz gerekir. Projenizin ana dizinini VS Code’da açın (File > Open Folder... veya terminalden code . komutu ile). VS Code, projenizdeki sanal ortamları otomatik olarak algılamaya çalışacaktır. Ekranın sağ alt köşesinde veya Ctrl+Shift+P ile komut paletini açıp “Python: Select Interpreter” yazarak doğru Python yorumlayıcısını seçtiğinizden emin olun. Buradan, projenizin venv dizini içindeki Python yorumlayıcısını (örneğin, ./venv/bin/python) seçmelisiniz. Bu adım, VS Code’un projenizin bağımlılıklarını ve kütüphanelerini doğru bir şekilde tanımasını sağlar.

Örnek Bir Python Projesi Oluşturma ve Hata Ayıklama

Şimdi basit bir Python projesi oluşturalım ve VS Code’un yeteneklerini görelim. Proje klasörünüzde (my_python_project) yeni bir dosya oluşturun, örneğin app.py:


# app.py
def calculate_sum(a, b):
    return a + b

if __name__ == "__main__":
    num1 = 5
    num2 = 10
    result = calculate_sum(num1, num2)
    print(f"Toplam: {result}")
    

Bu dosyayı kaydedin. Şimdi, VS Code’un entegre terminalini kullanarak (Ctrl+`) bu kodu çalıştırabilirsiniz:


(venv) python app.py
    

Çıktıyı terminalde görmelisiniz. Hata ayıklama (debugging) için, VS Code’un sol tarafındaki “Çalıştır ve Hata Ayıkla” (Run and Debug) simgesine tıklayın (veya Ctrl+Shift+D). app.py dosyanızdaki result = calculate_sum(num1, num2) satırının sol tarafına tıklayarak bir kesme noktası (breakpoint) ekleyin. Ardından “Python File” seçeneğini seçerek hata ayıklayıcıyı başlatın. Kodunuz kesme noktasına ulaştığında duracak ve değişkenlerin değerlerini inceleyebilir, adım adım ilerleyebilir veya kodunuzu kontrol edebilirsiniz. Bu özellik, karmaşık hataları bulmak ve çözmek için paha biçilmezdir.

Uzman İpucu: VS Code’da Python geliştirirken Pylint veya Flake8 gibi linting araçlarını kullanmak, kod kalitenizi artırır ve potansiyel hataları erken aşamada tespit etmenizi sağlar. VS Code Python eklentisi bunları kolayca entegre etmenize olanak tanır.

VS Code ve Python eklentisi, otomatik tamamlama (IntelliSense), kod formatlama, refactoring ve Git entegrasyonu gibi birçok başka özelliği de destekler. Bu sayede, geliştirme süreciniz daha verimli, daha hatasız ve daha keyifli hale gelir. Bir web geliştiricisi, Flask veya Django projelerinde VS Code’un sunduğu bu özelliklerle hızlıca prototip oluşturabilir ve hata ayıklayabilirken, bir veri bilimcisi Jupyter not defterlerini doğrudan VS Code içinde kullanarak etkileşimli analizler yapabilir. Bu entegrasyon, modern yazılım geliştirme pratiklerinin merkezinde yer alır.

İleri Düzey İpuçları ve En İyi Uygulamalar

Python 3 kurulumunuzu ve temel geliştirme ortamınızı kurduktan sonra, verimliliğinizi artıracak ve daha karmaşık senaryolarla başa çıkmanızı sağlayacak bazı ileri düzey ipuçları ve en iyi uygulamaları öğrenmek faydalı olacaktır. Bu bilgiler, özellikle birden fazla Python projesiyle çalışan veya farklı Python versiyonlarına ihtiyaç duyan deneyimli geliştiriciler için değerlidir.

Çoklu Python Versiyon Yönetimi: Pyenv

Ubuntu 18.04 üzerinde Python 3.6 veya 3.7 kurmuş olsanız bile, bazı projeleriniz Python 3.8, 3.9 veya daha yeni bir sürüm gerektirebilir. Aynı anda birden fazla Python versiyonunu sisteminizde yönetmek, özellikle global sistem Python’ını bozmadan, zorlu bir görev olabilir. İşte burada pyenv gibi araçlar devreye girer. pyenv, sisteminizde birden fazla Python versiyonunu kolayca kurmanıza, kaldırmanıza ve projeler bazında bunlar arasında geçiş yapmanıza olanak tanır.

pyenv kurulumu genellikle aşağıdaki adımları içerir:

  1. Bağımlılıkları Kurma:
    
    sudo apt update
    sudo apt install -y make 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
                
  2. pyenv‘i Kurma:
    
    curl https://pyenv.run | bash
                

    Bu komut, pyenv kurulum betiğini indirip çalıştırır.

  3. Shell Ortamını Yapılandırma:

    .bashrc veya .zshrc dosyanıza aşağıdaki satırları ekleyin (kullandığınız shell’e göre):

    
    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)"\nfi' >> ~/.bashrc
    source ~/.bashrc
                
  4. Python Versiyonu Kurma:
    
    pyenv install 3.9.10
    pyenv global 3.9.10 # Tüm sistem için varsayılan yapar
    pyenv local 3.9.10 # Mevcut dizin için varsayılan yapar
                

pyenv ile farklı Python versiyonlarını global, yerel veya shell bazında ayarlayabilir, böylece her projenin kendi özel Python versiyonuna sahip olmasını sağlayabilirsiniz. Bu, özellikle eski projeleri sürdürmek veya yeni teknolojileri denemek isteyen geliştiriciler için kritik bir esneklik sunar.

Uygulama Bağımlılıklarını Dondurma: requirements.txt ve Pip-tools

Daha önce bahsettiğimiz pip freeze > requirements.txt komutu, o anki ortamdaki tüm yüklü paketleri listeler. Ancak bu, bazen gereksiz paketleri de içerebilir veya paketlerin alt bağımlılıklarını dondurmayabilir. Daha kontrollü bir bağımlılık yönetimi için pip-tools gibi araçlar kullanabilirsiniz.

pip-tools, iki temel dosya üzerinde çalışır: requirements.in ve requirements.txt.

  • requirements.in: Projenizin doğrudan ihtiyaç duyduğu ana bağımlılıkları (örneğin, Flask, Django) belirtir.
  • requirements.txt: pip-tools tarafından, requirements.in dosyasındaki bağımlılıklar ve onların tüm alt bağımlılıkları dahil olmak üzere otomatik olarak oluşturulur ve versiyonları sabitlenir.

Kullanımı:


(venv) pip install pip-tools
    

requirements.in dosyanızı oluşturun:


# requirements.in
Flask==2.0.3
requests
    

Ardından requirements.txt dosyasını oluşturmak için:


(venv) pip-compile requirements.in
    

Bu komut, requirements.in‘deki her paketin ve onun tüm alt bağımlılıklarının tam versiyonlarını içeren bir requirements.txt dosyası oluşturur. Yeni bir ortamda kurulum yapmak için:


(venv) pip install -r requirements.txt
    

Bu yöntem, projelerinizin bağımlılıklarını daha şeffaf ve yönetilebilir hale getirerek, farklı ortamlarda aynı bağımlılık setinin kurulmasını garanti eder. Bu, özellikle büyük ekiplerde veya sürekli entegrasyon/sürekli dağıtım (CI/CD) süreçlerinde tutarlılık sağlamak için çok önemlidir.

Mobil Uyumlu HTML ve Duyarlı Tasarım (Contextual Example)

Makale içinde mobil uyumlu HTML üretimi ve media query örneklerinden bahsedilmişti. Doğrudan bu makalenin çıktısında mobil HTML üretmek mümkün olmasa da, Python ile web uygulamaları geliştirirken bu konunun nasıl ele alındığına dair bir örnek verebiliriz. Örneğin, bir Flask uygulamasında kullanıcı arayüzü oluştururken, CSS ile duyarlı tasarım prensiplerini uygulayarak farklı cihaz boyutlarına uyum sağlayabilirsiniz. Aşağıdaki gibi bir CSS kodu, bir web sayfasının mobil cihazlarda nasıl görüneceğini kontrol etmek için kullanılabilir:


/* styles.css */
.container {
    width: 90%;
    margin: 0 auto;
    padding: 20px;
}

@media screen and (max-width: 768px) {
    .container {
        width: 100%;
        padding: 10px;
    }
    .navigation-menu {
        flex-direction: column;
    }
}
    

Bu örnekte, @media screen and (max-width: 768px) kuralı, ekran genişliği 768 piksel veya daha az olduğunda belirli stil değişikliklerinin uygulanmasını sağlar. Bu, Python tabanlı bir web uygulamasının kullanıcı arayüzünün farklı cihazlarda sorunsuz bir şekilde görüntülenmesini garanti eden temel bir web geliştirme pratiğidir.

Bu ileri düzey teknikler, Python geliştirme yolculuğunuzda karşılaştığınız zorlukları aşmanıza ve daha sağlam, sürdürülebilir ve verimli uygulamalar geliştirmenize yardımcı olacaktır. Unutmayın, iyi bir geliştirici olmak sadece kod yazmakla kalmaz, aynı zamanda araçları ve en iyi uygulamaları etkin bir şekilde kullanmayı da gerektirir.

Sonuç ve Sıkça Sorulan Sorular

Bu kapsamlı rehberde, Ubuntu 18.04 üzerinde Python 3’ü kurmaktan, güçlü bir geliştirme ortamı oluşturmaya ve ileri düzey bağımlılık yönetimi tekniklerine kadar birçok konuyu ele aldık. Sistemi hazırlama, Python 3 ve pip’i yükleme adımlarını detaylandırdık ve sanal ortamların neden bu kadar önemli olduğunu ve nasıl kullanılacağını öğrendik. Ayrıca, popüler bir IDE olan VS Code’u Python geliştirme için nasıl yapılandıracağınızı ve Pyenv gibi araçlarla çoklu Python versiyonlarını nasıl yöneteceğinizi gösterdik. Bu adımları takip ederek, projelerinizi verimli ve sorunsuz bir şekilde geliştirebileceğiniz stabil ve modern bir ortam kurmuş olursunuz.

Python’ın esnekliği ve geniş ekosistemi, onu veri biliminden web geliştirmeye, otomasyondan yapay zekaya kadar birçok alanda vazgeçilmez bir dil haline getiriyor. Ubuntu 18.04’ün LTS desteği ile birleştiğinde, uzun vadeli ve güvenilir bir geliştirme platformuna sahip olursunuz. Unutmayın, yazılım geliştirme sürekli bir öğrenme sürecidir. Bu rehber size sağlam bir başlangıç noktası sunarken, en iyi uygulamaları takip etmek ve yeni araçları keşfetmek, becerilerinizi sürekli olarak geliştirmenize yardımcı olacaktır. Başarılar dileriz!

Sıkça Sorulan Sorular (SSS)

Soru Cevap
Ubuntu 18.04’te neden Python 3’ün varsayılan sürümünü kullanmalıyım? Ubuntu’nun varsayılan depolarındaki Python 3 sürümü, işletim sistemi ile tam uyumlu ve stabil olduğu için genellikle tercih edilir. Sistem bağımlılıklarını bozma riskini azaltır ve uzun süreli destek (LTS) kapsamında güvenlik güncellemeleri alır. Daha yeni bir sürüm gerekiyorsa deadsnakes PPA veya pyenv kullanabilirsiniz.
Sanal ortamlar gerçekten gerekli mi? Atlayabilir miyim? Sanal ortamlar kesinlikle gereklidir ve atlanmamalıdır. Her projenin kendi izole bağımlılık setine sahip olmasını sağlayarak, farklı projelerdeki kütüphane versiyonları arasındaki çakışmaları önler. Bu, özellikle birden fazla proje üzerinde çalışırken veya bağımlılıkları belirli versiyonlara kilitlemeniz gerektiğinde kritik öneme sahiptir.
pip yerine pip3 kullanmak neden önemlidir? Ubuntu 18.04’te hem Python 2 hem de Python 3 yüklü olabilir. pip komutu genellikle Python 2’nin paket yöneticisini işaret ederken, pip3 komutu Python 3’ün paket yöneticisini işaret eder. Bu ayrımı yaparak, kütüphaneleri doğru Python versiyonuna kurduğunuzdan emin olursunuz ve olası karışıklıkları önlersiniz.
VS Code dışında hangi IDE’leri veya kod düzenleyicilerini kullanabilirim? VS Code popüler bir seçenek olsa da, PyCharm (profesyonel Python IDE’si), Sublime Text, Atom veya Vim gibi başka birçok güçlü seçenek mevcuttur. Seçiminiz, kişisel tercihlerinize, projenizin karmaşıklığına ve ihtiyaç duyduğunuz özellik setine bağlıdır. Her birinin kendine özgü avantajları vardır.
requirements.txt dosyasını neden versiyon kontrol sistemime (Git) eklemeliyim? requirements.txt dosyası, projenizin tüm bağımlılıklarını ve onların kesin versiyonlarını listeler. Bu dosyayı Git’e eklemek, projenizi başka bir geliştiriciyle paylaştığınızda veya yeni bir makinede kurduğunuzda, herkesin aynı bağımlılık setini kurmasını sağlar. Bu, “benim makinemde çalışıyor” sorununu ortadan kaldırır ve ekip içinde tutarlılık sağlar.

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.
Exit mobile version