Takip et

Python 3 Kurulumu ve CentOS 8 Üzerinde Programlama Ortamının Hazırlanması

Python 3 Kurulumu ve CentOS 8 Üzerinde Programlama Ortamının Hazırlanması Bu kapsamlı teknik makale, CentOS 8 işletim sistemi üzerinde Python

Python 3 Kurulumu ve CentOS 8 Üzerinde Programlama Ortamının Hazırlanması

Bu kapsamlı teknik makale, CentOS 8 işletim sistemi üzerinde Python 3’ü kurmanın çeşitli yöntemlerini, bir programlama ortamını nasıl doğru bir şekilde kuracağınızı ve Python geliştirme sürecinizi optimize etmek için gerekli araçları nasıl kullanacağınızı adım adım açıklamaktadır. Modern yazılım geliştirmenin temel taşlarından biri olan Python, çok yönlülüğü ve geniş kütüphane ekosistemi sayesinde web geliştirmeden veri bilimine, yapay zekadan otomasyona kadar birçok alanda tercih edilmektedir. CentOS 8, kararlılığı ve güçlü paket yönetim sistemi DNF ile Python tabanlı projeler için sağlam bir temel sunar.

Giriş

Python, yüksek seviyeli, yorumlanmış, nesne yönelimli bir programlama dilidir. Okunabilirliği, basit sözdizimi ve geniş standart kütüphanesi ile hem yeni başlayanlar hem de deneyimli geliştiriciler için idealdir. CentOS 8, varsayılan olarak Python 3’ün belirli bir sürümünü içerse de, geliştiricilerin belirli proje gereksinimleri veya en güncel özellikler için farklı Python sürümlerini yüklemesi gerekebilir. Bu makale, DNF paket yöneticisi aracılığıyla kurulumdan, kaynak koddan derlemeye ve pyenv gibi araçlarla sürüm yönetimine kadar tüm senaryoları ele alacaktır. Ayrıca, bağımlılık çakışmalarını önlemek ve projelerinizi izole etmek için sanal ortamların önemini ve nasıl kullanılacağını detaylandıracağız.

Ön Gereksinimler

Kuruluma başlamadan önce aşağıdaki ön gereksinimlerin karşılandığından emin olun:

CentOS 8 İşletim Sistemi

CentOS 8 yüklü ve çalışır durumda bir sunucu veya sanal makineye erişiminiz olmalıdır. Bu makaledeki komutlar CentOS 8 için optimize edilmiştir.

Sudo Yetkilerine Sahip Bir Kullanıcı

Sisteme root olmayan ancak sudo ayrıcalıklarına sahip bir kullanıcı ile giriş yapmış olmalısınız. Bu, sistem dosyalarını ve paketlerini güvenli bir şekilde yönetmenizi sağlar.

İnternet Bağlantısı

Gerekli paketleri indirmek ve güncellemeleri almak için aktif bir internet bağlantısı gereklidir.

Sistem Güncellemesi

Herhangi bir yazılım kurulumuna başlamadan önce sisteminizin güncel olduğundan emin olmak iyi bir uygulamadır. Bu, potansiyel bağımlılık sorunlarını önler ve en son güvenlik yamalarını uygulamanızı sağlar.

sudo dnf update -y
sudo dnf upgrade -y

Bu komutlar, kurulu tüm paketleri en son sürümlerine güncelleyecektir. -y bayrağı, tüm onay istemlerini otomatik olarak “evet” olarak yanıtlar.

Python 3 Kurulum Yöntemleri

CentOS 8 üzerinde Python 3 kurmanın birkaç yolu vardır. En yaygın ve önerilen yöntem DNF paket yöneticisini kullanmaktır. Ancak, belirli bir Python sürümüne ihtiyacınız varsa veya en son sürümü kullanmak istiyorsanız, kaynak koddan derleme seçeneği de mevcuttur.

Yum/DNF ile Kurulum

CentOS 8, varsayılan olarak Python 3’ün belirli bir sürümünü (genellikle Python 3.6 veya 3.8) içerir. DNF (Yum’un halefi), bu sürümü ve ilgili geliştirme araçlarını kolayca kurmanızı sağlar.

Varsayılan Python Sürümünü Kontrol Etme

Sisteminizde halihazırda hangi Python sürümünün kurulu olduğunu kontrol etmek için aşağıdaki komutları kullanabilirsiniz:

python3 --version
python2 --version  # Eğer Python 2 kuruluysa

Eğer python3 komutu bulunamazsa veya eski bir sürümse, DNF ile kurulum yapmanız gerekecektir.

Geliştirme Araçlarını Yükleme

Python kaynak kodundan derleme yaparken veya bazı Python paketlerini kurarken gerekli olan derleyici ve geliştirme kütüphanelerini yüklemek önemlidir.

sudo dnf groupinstall "Development Tools" -y
sudo dnf install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel libffi-devel xz-devel -y

Bu komutlar, C/C++ derleyicilerini, make aracını ve Python’ın bazı modüllerinin derlenmesi için gerekli olan başlık dosyalarını ve kütüphaneleri yükleyecektir.

Python 3 Yükleme

CentOS 8’de Python 3’ü DNF ile yüklemek oldukça basittir:

sudo dnf install python3 -y

Bu komut, sisteminizin varsayılan Python 3 sürümünü kuracaktır. Genellikle bu, python3.x olarak kurulur ve python3 komutuyla çağrılabilir.

Kurulumu Doğrulama

Kurulumun başarılı olup olmadığını kontrol etmek için Python sürümünü tekrar kontrol edin:

python3 --version

Ayrıca, pip‘in (Python paket yöneticisi) kurulu olduğundan emin olun. Genellikle python3 paketi ile birlikte gelir:

pip3 --version

Eğer pip3 kurulu değilse, aşağıdaki komutla kurabilirsiniz:

sudo dnf install python3-pip -y

Kaynak Koddan Kurulum

DNF ile gelen sürümden daha yeni bir Python sürümüne ihtiyacınız varsa veya özel derleme seçenekleriyle Python’ı kurmak istiyorsanız, kaynak koddan kurulum yapmanız gerekir. Bu yöntem, daha fazla kontrol sağlar ancak daha karmaşıktır.

Gerekli Bağımlılıkları Yükleme

Kaynak koddan derleme için DNF kurulumundaki geliştirme araçlarına ek olarak bazı bağımlılıklar gerekebilir. Yukarıdaki dnf groupinstall "Development Tools" ve dnf install zlib-devel ... komutlarını zaten çalıştırmış olmalısınız.

Python Kaynak Kodunu İndirme

Python’ın resmi web sitesinden (python.org) istediğiniz sürümün kaynak kodunu indirebilirsiniz. Genellikle wget veya curl kullanılarak indirilir. Örneğin, Python 3.9.10’u indirmek için:

wget https://www.python.org/ftp/python/3.9.10/Python-3.9.10.tgz

İndirdikten sonra, arşivi açın:

tar -xf Python-3.9.10.tgz
cd Python-3.9.10
Kaynak Kodu Derleme ve Kurma

Şimdi kaynak kodu derleyip kurma zamanı. configure komutu, derleme seçeneklerini ayarlar. enable-optimizations bayrağı, Python’ı daha hızlı çalışacak şekilde optimize eder, ancak derleme süresini uzatır. enable-loadable-sqlite-extensions gibi bayraklar, belirli modüllerin desteğini etkinleştirir.

./configure --enable-optimizations --enable-loadable-sqlite-extensions
make -j $(nproc) # -j $(nproc) ile tüm CPU çekirdeklerini kullanarak derlemeyi hızlandırın
sudo make altinstall

make altinstall kullanmak önemlidir. Bu, sistemin varsayılan python ve pip komutlarını üzerine yazmaz, bunun yerine python3.9 ve pip3.9 gibi sürümle ilişkilendirilmiş komutlar oluşturur. Bu, sistemin kritik bileşenlerinin hala varsayılan Python sürümünü kullanabilmesini sağlar. Eğer make install kullanırsanız, mevcut Python kurulumunuzla çakışmalara neden olabilirsiniz.

Kurulumu Doğrulama ve PATH Ayarı

Kurulumdan sonra yeni Python sürümünüzü kontrol edin:

python3.9 --version
pip3.9 --version

Eğer bu komutlar bulunamazsa, Python’ın kurulu olduğu dizini PATH ortam değişkeninize eklemeniz gerekebilir. Genellikle /usr/local/bin altına kurulur, ki bu zaten PATH’te olabilir. Eğer değilse, .bashrc veya .profile dosyanıza aşağıdaki satırı ekleyebilirsiniz:

export PATH="/usr/local/bin:$PATH"

Değişikliği uygulamak için oturumu kapatıp açın veya source ~/.bashrc komutunu çalıştırın.

Python Sürümlerini Yönetme

Birden fazla Python sürümüne sahip olmak, özellikle farklı projelerin farklı sürüm gereksinimleri olduğunda yaygın bir durumdur. CentOS 8’de bu durumu yönetmek için birkaç yöntem bulunmaktadır.

Alternatifler Komutu

CentOS’ta alternatives komutu, farklı programların aynı genel komut adını kullanmasına izin veren bir sistemdir. Örneğin, python komutunun hangi Python sürümünü işaret edeceğini belirlemek için kullanılabilir. Ancak, genellikle python komutunu doğrudan sistem Python’ına bağlamak yerine, python3 gibi sürüm belirten komutları kullanmak veya sanal ortamlar aracılığıyla sürüm yönetimi yapmak daha güvenlidir. Sistem Python’ını değiştirmek, işletim sisteminin bağımlılıklarını bozabilir.

Eğer yine de python komutunu belirli bir Python 3 sürümüne bağlamak isterseniz (ki bu tavsiye edilmez), aşağıdaki gibi yapabilirsiniz:

sudo alternatives --install /usr/bin/python python /usr/bin/python3.x 1

Burada python3.x, kullanmak istediğiniz Python 3 sürümünün yoludur (örn. /usr/bin/python3.6 veya /usr/local/bin/python3.9). Önceliği ayarlamak için son parametre kullanılır. Daha sonra, farklı alternatifler arasında geçiş yapmak için:

sudo alternatives --config python

Bu size bir seçim listesi sunacaktır.

Pyenv Kullanımı

pyenv, Python geliştiricileri arasında popüler olan bir Python sürüm yöneticisidir. Sistem Python’ını etkilemeden birden fazla Python sürümünü kolayca kurmanıza, yönetmenize ve aralarında geçiş yapmanıza olanak tanır. Her Python sürümünü kullanıcının ana dizininde izole bir şekilde tutar.

Pyenv Kurulumu

pyenv‘i kurmak için genellikle git ve bazı derleme bağımlılıkları gerekir:

sudo dnf install git -y
sudo dnf groupinstall "Development Tools" -y
sudo dnf install openssl-devel bzip2-devel libffi-devel zlib-devel readline-devel sqlite-devel wget curl llvm-devel xz-devel tk-devel -y

Ardından, pyenv‘i klonlayın ve ortam değişkenlerini ayarlayın:

git clone https://github.com/pyenv/pyenv.git ~/.pyenv
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

pyenv‘in doğru kurulduğunu doğrulamak için:

pyenv --version
Pyenv ile Python Sürümü Yükleme

pyenv install komutu ile istediğiniz Python sürümünü kolayca yükleyebilirsiniz:

pyenv install 3.9.10
pyenv install 3.10.0

Kullanılabilir tüm sürümleri görmek için pyenv install --list komutunu kullanabilirsiniz.

Sürüm Seçimi

pyenv ile üç farklı düzeyde Python sürümü seçebilirsiniz:

* Global: Tüm kabuk oturumları için varsayılan sürüm.

pyenv global 3.9.10

* Local: Belirli bir dizin ve alt dizinleri için geçerli olan sürüm. Bu, projeye özgü sürümleri ayarlamak için idealdir.

cd my_project
    pyenv local 3.10.0

Bu komut, my_project dizinine .python-version adında bir dosya oluşturur.
* Shell: Yalnızca mevcut kabuk oturumu için geçerli olan sürüm.

pyenv shell 3.8.5

Aktif Python sürümünü kontrol etmek için:

pyenv versions
python --version

pyenv versions size kurulu tüm sürümleri ve aktif olanı gösterecektir.

Sanal Ortamların Oluşturulması

Python projeleri geliştirirken sanal ortamlar kullanmak, en iyi uygulama olarak kabul edilir. Sanal ortamlar, her proje için izole edilmiş bir Python ortamı oluşturarak bağımlılık çakışmalarını önler.

Neden Sanal Ortamlar?

* Bağımlılık İzolasyonu: Her proje kendi bağımlılıklarına sahip olabilir ve bu bağımlılıklar diğer projelerin veya sistemin genel Python kurulumunu etkilemez.
* Temiz Ortam: Bir projeyi bitirdiğinizde, sanal ortamı silerek tüm proje bağımlılıklarını kolayca kaldırabilirsiniz.
* Yeniden Üretilebilirlik: requirements.txt dosyası ile bir projenin tüm bağımlılıklarını kolayca listeleyebilir ve farklı makinelerde aynı ortamı yeniden oluşturabilirsiniz.

venv Modülü ile Sanal Ortam Oluşturma

Python 3.3 ve sonraki sürümlerle birlikte gelen venv modülü, sanal ortam oluşturmanın en yaygın ve önerilen yoludur.

Sanal Ortam Oluşturma

Projenizin kök dizinine gidin ve aşağıdaki komutu çalıştırın:

mkdir my_python_project
cd my_python_project
python3 -m venv venv

Burada venv, sanal ortamınızın adıdır. Genellikle proje dizini içinde venv veya .venv olarak adlandırılır. Bu komut, belirtilen dizinde Python ikili dosyalarının, Pip’in ve diğer yardımcı dosyaların bir kopyasını içeren bir dizin oluşturur.

Sanal Ortamı Etkinleştirme

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

source venv/bin/activate

Sanal ortam etkinleştirildiğinde, komut isteminiz genellikle sanal ortamın adını (bu örnekte (venv)) gösterecektir. Artık python ve pip komutları, bu sanal ortama özgü olanları işaret edecektir.

(venv) python --version
(venv) pip --version
Sanal Ortamdan Çıkış

Sanal ortamdan çıkmak için deactivate komutunu kullanın:

(venv) deactivate

Komut isteminiz normale dönecektir.

Pip Kullanımı

Pip, Python paketlerini kurmak ve yönetmek için standart bir araçtır. Sanal ortamlarla birlikte kullanıldığında, proje bağımlılıklarını yönetmek için vazgeçilmezdir.

Pip Nedir?

Pip, “Pip Installs Packages” (veya “Pip Installs Python”) anlamına gelen bir kısaltmadır. Python Package Index (PyPI) üzerinde bulunan binlerce açık kaynaklı kütüphaneyi ve aracı kolayca kurmanızı, güncellemenizi ve kaldırmanızı sağlar.

Paket Kurulumu ve Yönetimi

Sanal ortamınız etkinleştirilmişken, Pip’i kullanarak paketleri kurabilir, listeleyebilir ve kaldırabilirsiniz.

Pip Kurulumu (Gerekliyse)

Çoğu Python 3 kurulumu Pip ile birlikte gelir. Eğer kurulu değilse veya güncel değilse, önce kurabilir veya güncelleyebilirsiniz:

python3 -m ensurepip --upgrade
python3 -m pip install --upgrade pip
Paket Kurulumu

Bir paketi kurmak için:

(venv) pip install 

Örneğin, popüler requests kütüphanesini kurmak için:

(venv) pip install requests

Belirli bir sürümü kurmak için:

(venv) pip install requests==2.25.1
Kurulu Paketleri Listeleme

Sanal ortamınızda kurulu tüm paketleri listelemek için:

(venv) pip list
Paket Güncelleme ve Kaldırma

Bir paketi güncellemek için:

(venv) pip install --upgrade 

Bir paketi kaldırmak için:

(venv) pip uninstall 
requirements.txt Kullanımı

Projenizin bağımlılıklarını yönetmek için requirements.txt dosyası kullanmak çok önemlidir. Bu dosya, projenizin ihtiyaç duyduğu tüm paketleri ve sürümlerini listeler.

Mevcut ortamınızdaki kurulu paketleri requirements.txt dosyasına kaydetmek için:

(venv) pip freeze > requirements.txt

Başka bir ortamda (veya başka bir makinede) bu bağımlılıkları kurmak için:

(venv) pip install -r requirements.txt

Bu, projenizin bağımlılıklarını kolayca yeniden üretilebilir hale getirir.

Temel Geliştirme Araçları ve Kütüphaneler

Python programlama ortamınızı kurduktan sonra, verimli bir şekilde kod yazmak için bazı temel araçlara ve kütüphanelere ihtiyacınız olacaktır.

Metin Düzenleyiciler ve IDE’ler

Kod yazmak için bir metin düzenleyici veya entegre geliştirme ortamı (IDE) seçmek kişisel tercihlere bağlıdır.

* Nano/Vim: CentOS sunucularında doğrudan terminalden hızlı düzenlemeler yapmak için kullanışlıdırlar.

sudo dnf install nano vim -y

* Visual Studio Code (VS Code): Hafif, güçlü ve birçok dil için eklenti desteği sunan popüler bir düzenleyicidir. CentOS’a VS Code kurmak için resmi web sitesindeki talimatları takip edebilir veya DNF deposunu ekleyerek kurabilirsiniz.

sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
    sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo'
    sudo dnf check-update
    sudo dnf install code -y

* PyCharm: JetBrains tarafından geliştirilen, Python için özel olarak tasarlanmış tam özellikli bir IDE’dir. Büyük ve karmaşık projeler için mükemmeldir, ancak daha fazla kaynak tüketir. Community sürümü ücretsizdir. PyCharm’ı kurmak için genellikle JetBrains web sitesinden indirilen bir .tar.gz dosyasını açıp çalıştırmak gerekir.

Sık Kullanılan Python Kütüphaneleri

Python’ın gücü, geniş kütüphane ekosisteminden gelir. İşte bazı temel ve sık kullanılan kütüphaneler:

* NumPy ve Pandas: Veri analizi ve bilim için temel kütüphanelerdir. NumPy, sayısal hesaplamalar için güçlü N-boyutlu dizi nesneleri sağlar; Pandas ise veri yapıları ve veri analizi araçları sunar.

(venv) pip install numpy pandas

* Django ve Flask: Web geliştirmek için popüler çerçevelerdir. Django, tam özellikli ve “pil dahil” bir çerçeve iken, Flask daha hafif ve mikro bir çerçevedir.

(venv) pip install django
    (venv) pip install flask

* Requests: HTTP istekleri yapmak için basit ve zarif bir kütüphanedir. Web API’leri ile etkileşim kurmak için sıkça kullanılır.

(venv) pip install requests

* Matplotlib: Veri görselleştirme için kullanılan kapsamlı bir kütüphanedir. Grafikler, çizimler ve diğer görselleştirmeler oluşturmak için idealdir.

(venv) pip install matplotlib

Bu kütüphaneleri sanal ortamınızda kurarak projelerinize kolayca dahil edebilirsiniz.

Yaygın Sorunlar ve Çözümleri

Kurulum ve ortam kurulumu sırasında karşılaşabileceğiniz bazı yaygın sorunlar ve bunların çözümleri aşağıdadır.

PATH Değişkeni Sorunları

Python veya Pip komutlarının bulunamaması genellikle PATH ortam değişkeninizin doğru ayarlanmadığı anlamına gelir.

PATH’i Kontrol Etme ve Ayarlama

Mevcut PATH’inizi kontrol edin:

echo $PATH

Eğer Python veya Pip’in kurulu olduğu dizin (örn. /usr/local/bin veya ~/.pyenv/shims) PATH’te yoksa, .bashrc veya .profile dosyanıza ekleyin ve değişiklikleri uygulayın:

echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

Veya pyenv kullanıyorsanız, pyenv init komutunun doğru şekilde çağrıldığından emin olun.

Bağımlılık Hataları

Kaynak koddan kurulum yaparken veya bazı Pip paketlerini kurarken “missing header files” veya “cannot find C compiler” gibi hatalarla karşılaşabilirsiniz.

Eksik Bağımlılıkları Yükleme

Bu tür hatalar genellikle gerekli geliştirme kütüphanelerinin veya derleyicilerin eksik olmasından kaynaklanır. Yukarıda belirtilen dnf groupinstall "Development Tools" ve dnf install zlib-devel ... komutlarını çalıştırdığınızdan emin olun. Özellikle Python’ın belirli modülleri (örn. sqlite3, ssl) için ilgili devel paketleri gereklidir.

İzin Sorunları

pip install komutunu çalıştırırken “Permission denied” hataları alıyorsanız, genellikle sanal ortam etkin değilken sistem genelinde paket kurmaya çalışıyorsunuz demektir.

sudo Kullanımı veya Dizin İzinlerini Ayarlama

* Sanal Ortam Kullanımı: En iyi çözüm, her zaman bir sanal ortamı etkinleştirdikten sonra pip install komutunu çalıştırmaktır. Bu durumda sudo kullanmanıza gerek kalmaz, çünkü paketler kullanıcının sanal ortam dizinine kurulur.
* Sistem Geneli Kurulum (Tavsiye Edilmez): Eğer gerçekten sistem genelinde bir paket kurmanız gerekiyorsa (ki bu genellikle tavsiye edilmez), sudo pip install komutunu kullanabilirsiniz. Ancak bu, sistem Python’ını bozma riski taşır ve bağımlılık çakışmalarına yol açabilir.
* Dizin İzinleri: Nadiren, kullanıcının ana dizinindeki bazı pyenv veya venv dizinlerinin izinleri yanlış ayarlanmış olabilir. chmod komutuyla bu dizinlerin sahibini veya izinlerini düzeltebilirsiniz.

Sonuç

Bu makale, CentOS 8 üzerinde Python 3’ü kurmanın ve sağlam bir programlama ortamı oluşturmanın çeşitli yollarını detaylandırdı. DNF paket yöneticisi ile hızlı ve kolay kurulumdan, belirli sürümleri hedeflemek için kaynak koddan derlemeye ve pyenv ile esnek sürüm yönetimine kadar farklı senaryoları ele aldık. Sanal ortamların önemi ve venv modülü ile nasıl kullanılacağı, Pip’in paket yönetimindeki rolü ve temel geliştirme araçları ile kütüphaneler de ayrıntılı olarak incelendi.

Artık CentOS 8 sisteminizde güçlü ve izole edilmiş Python 3 geliştirme ortamlarına sahipsiniz. Bu bilgiyle, web uygulamaları geliştirebilir, veri analizi yapabilir, otomasyon betikleri yazabilir ve Python’ın sunduğu geniş olanaklardan faydalanabilirsiniz. Unutmayın, iyi bir programlama ortamının temelinde, projelerinizi birbirinden bağımsız tutan sanal ortamlar ve doğru sürüm yönetimi yatar. Bu prensiplere bağlı kalarak, geliştirme süreçlerinizi daha verimli ve sorunsuz hale getirebilirsiniz.

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

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.