Takip et

Jupyter Notebook ve IPython Kurulumu: Ubuntu 16.04 Üzerinde Adım Adım Rehber

Jupyter Notebook ve IPython Kurulumu: Ubuntu 16.04 Üzerinde Adım Adım Rehber Veri bilimi, makine öğrenimi, istatistiksel analiz ve bilimsel hesa

Jupyter Notebook ve IPython Kurulumu: Ubuntu 16.04 Üzerinde Adım Adım Rehber

Veri bilimi, makine öğrenimi, istatistiksel analiz ve bilimsel hesaplama alanlarında çalışan profesyoneller ve öğrenciler için interaktif bir çalışma ortamı sunan Jupyter Notebook, günümüzün en popüler araçlarından biridir. Python, R, Julia gibi birçok programlama dilini destekleyen bu web tabanlı uygulama, kod yazmayı, çalıştırmayı, sonuçları görselleştirmeyi ve açıklamaları tek bir belgede birleştirmeyi mümkün kılar. Özellikle Python ekosisteminde, Jupyter Notebook’un kalbinde yer alan IPython (Interactive Python), kullanıcıya zengin bir etkileşimli kabuk deneyimi sunar. Bu makale, Ubuntu 16.04 işletim sistemi üzerinde Jupyter Notebook’u ve dolayısıyla IPython çekirdeğini nasıl kuracağınızı ve yapılandıracağınızı adım adım detaylandıracaktır.

Ubuntu 16.04, uzun süreli destek (LTS) sağlayan ve birçok sunucu ve geliştirme ortamında hala yaygın olarak kullanılan sağlam bir işletim sistemidir. Ancak, nispeten eski bir sürüm olduğu için, bazı paketlerin güncel sürümlerini kurarken ek adımlar gerekebilir. Bu rehber, bu tür potansiyel zorlukları göz önünde bulundurarak, sorunsuz bir kurulum deneyimi sağlamayı amaçlamaktadır. Sanal ortamların kullanımı, bağımlılık yönetimi ve yaygın sorun giderme yöntemleri gibi konulara da değinerek, okuyucunun kapsamlı bir anlayışa sahip olmasını hedefliyoruz. İster yeni başlayan bir veri bilimci olun ister mevcut bir sistem yöneticisi, bu rehber Jupyter Notebook’un gücünü Ubuntu 16.04 ortamınızda etkin bir şekilde kullanmanızı sağlayacaktır.

Giriş: Jupyter Notebook ve IPython Nedir?

Jupyter Notebook, açık kaynaklı, web tabanlı bir interaktif geliştirme ortamıdır (IDE). Kullanıcıların kod, metin (Markdown), denklemler, görselleştirmeler ve diğer zengin medya türlerini tek bir belgede birleştirmesine olanak tanır. Bu “notebook”lar, veri analizi iş akışlarını paylaşmak, öğretici materyaller oluşturmak ve bilimsel araştırmaları belgelemek için idealdir. Jupyter projesi, adını Julia, Python ve R programlama dillerinin ilk hecelerinden alır, ancak zamanla çok daha fazla dili destekleyecek şekilde genişlemiştir. Temel olarak, bir web tarayıcısı üzerinden erişilen bir istemci-sunucu mimarisiyle çalışır. Notebook’lar, arka planda çalışan bir “çekirdek” (kernel) aracılığıyla kodları yürütür.

IPython ise “Interactive Python”ın kısaltmasıdır ve Jupyter Notebook’un Python dilindeki çekirdeğini (kernel) oluşturan temel bileşendir. Başlangıçta tek başına güçlü bir etkileşimli Python kabuğu olarak geliştirilmiştir. Gelişmiş kod tamamlama, geçmiş yönetimi, sihirli komutlar (magic commands) ve zengin çıktı yetenekleri gibi özellikler sunar. Jupyter projesi, IPython’un bu yeteneklerini alıp diğer diller için de benzer çekirdekler geliştirerek daha genel bir platform haline gelmiştir. Dolayısıyla, Jupyter Notebook kurduğunuzda, Python kodunu çalıştırmak için otomatik olarak IPython çekirdeğini de kurmuş olursunuz. Bu ikilinin birleşimi, Python ile veri bilimi, makine öğrenimi ve bilimsel hesaplama alanlarında çalışanlar için vazgeçilmez bir araç haline gelmiştir. Ubuntu 16.04 üzerinde bu güçlü ortamı kurmak, verimliliğinizi artırmanın ve projelerinizi daha etkili bir şekilde yönetmenin anahtarı olacaktır.

Ön Gereksinimler

Jupyter Notebook’u Ubuntu 16.04 üzerinde başarıyla kurmak ve çalıştırmak için birkaç temel ön gereksinim bulunmaktadır. Bu gereksinimlerin karşılandığından emin olmak, kurulum sürecini sorunsuz hale getirecektir.

* Ubuntu 16.04 İşletim Sistemi: Bu rehber, özellikle Ubuntu 16.04 LTS sürümünü hedeflemektedir. Diğer Ubuntu sürümleri veya Linux dağıtımları için adımlar benzer olsa da, bazı paket isimleri veya komutlar farklılık gösterebilir.
* İnternet Bağlantısı: Kurulum sürecinde gerekli paketleri indirmek için aktif bir internet bağlantısı şarttır.
* Temel Terminal Bilgisi: Linux komut satırı (terminal) ile temel düzeyde işlem yapabilme bilgisi gereklidir. sudo, apt, pip, cd, mkdir gibi temel komutlara aşina olmanız beklenir.
* Yönetici Yetkileri (sudo): Sistem düzeyinde paket kurmak veya değiştirmek için yönetici (root) yetkilerine ihtiyacınız olacaktır. Bu yetkiler genellikle sudo komutu ile sağlanır.
* Python: Ubuntu 16.04, varsayılan olarak Python 2.7 ve Python 3.5 sürümleriyle birlikte gelir. Jupyter Notebook için Python 3’ün kullanılması şiddetle tavsiye edilir. Mevcut Python kurulumunuzu kontrol edecek ve gerekirse güncelleyecek veya ek paketler kuracağız.

Bu ön gereksinimleri karşıladıktan sonra, kurulum adımlarına geçmeye hazır olacaksınız.

Python Kurulumu ve Yönetimi

Ubuntu 16.04, kutudan çıktığı haliyle Python 2.7 ve Python 3.5’i içerir. Ancak, modern geliştirme için Python 3’ün en güncel sürümünü ve onunla birlikte gelen pip paket yöneticisini kullanmak en iyisidir. Ayrıca, farklı projeler için bağımlılık çakışmalarını önlemek adına sanal ortamlar oluşturmak kritik öneme sahiptir.

Mevcut Python Sürümlerini Kontrol Etme

İlk adım olarak, sisteminizdeki mevcut Python sürümlerini kontrol edelim:

python --version
python3 --version

Genellikle python komutu Python 2.7’yi, python3 komutu ise Python 3.5’i gösterecektir.

Sistem Paketlerini Güncelleme

Kuruluma başlamadan önce, sisteminizdeki paket listesini ve kurulu paketleri güncelleyerek olası bağımlılık sorunlarını önleyelim:

sudo apt update
sudo apt upgrade

Bu komutlar, paket indekslerini güncelleyecek ve mevcut tüm paketleri en son sürümlerine yükseltecektir.

pip Paket Yöneticisini Kurma

pip, Python paketlerini yönetmek için standart bir araçtır. Hem Python 2 hem de Python 3 için pip‘i kurmamız gerekebilir, ancak Jupyter Notebook için Python 3’ün pip‘ini kullanacağız.

sudo apt install python-pip   # Python 2 için pip
sudo apt install python3-pip  # Python 3 için pip

Kurulumdan sonra pip‘in doğru bir şekilde çalıştığını doğrulamak için sürümünü kontrol edebilirsiniz:

pip --version
pip3 --version

Eğer pip‘in kendisi güncel değilse, aşağıdaki komutlarla güncelleyebilirsiniz:

pip install --upgrade pip
pip3 install --upgrade pip

Sanal Ortamların Kullanımı (Şiddetle Tavsiye Edilir)

Sanal ortamlar, Python projelerinin izole bir şekilde çalışmasını sağlayan en iyi uygulamadır. Bu, bir projenin bağımlılıklarının başka bir projenin bağımlılıklarıyla çakışmasını engeller. Örneğin, bir proje belirli bir kütüphanenin eski bir sürümünü gerektirirken, başka bir proje daha yeni bir sürümünü gerektirebilir. Sanal ortamlar sayesinde bu sorunlar ortadan kalkar.

Ubuntu 16.04’te sanal ortam oluşturmanın en yaygın yolu virtualenv kullanmaktır. Python 3.5 ile gelen venv modülü de mevcuttur, ancak virtualenv daha geniş uyumluluk sunar ve Python 2 projeleri için de kullanılabilir.

virtualenv Kurulumu:

Eğer virtualenv kurulu değilse, pip kullanarak kurun:

sudo pip install virtualenv

Veya sadece Python 3 için:

sudo pip3 install virtualenv

Sanal Ortam Oluşturma ve Etkinleştirme:

Şimdi, Jupyter Notebook ve projeleriniz için bir sanal ortam oluşturalım. Önce bir proje dizini oluşturalım ve içine girelim:

mkdir my_jupyter_project
cd my_jupyter_project

Ardından, bu dizin içinde bir sanal ortam oluşturalım. Genellikle sanal ortama venv veya env adı verilir:

virtualenv venv

Veya Python 3.5 için (eğer python3-venv paketi kuruluysa):

python3 -m venv venv

Bu komut, my_jupyter_project dizini içinde venv adında bir dizin oluşturacak ve bu dizinin içine izole bir Python ortamı (kendi pip ve Python ikilisi ile birlikte) kuracaktır.

Sanal ortamı etkinleştirmek için:

source venv/bin/activate

Terminal isteminizin başında (venv) gibi bir ifade görmelisiniz. Bu, sanal ortamın etkin olduğunu ve artık kuracağınız tüm Python paketlerinin bu ortama özgü olacağını gösterir. Örneğin, pip install jupyter komutunu çalıştırdığınızda, Jupyter sadece bu sanal ortama kurulacaktır.

Sanal Ortamdan Çıkış:

İşiniz bittiğinde veya başka bir sanal ortama geçmek istediğinizde, mevcut sanal ortamdan çıkmak için aşağıdaki komutu kullanın:

deactivate

Terminal isteminizin başındaki (venv) ifadesinin kaybolduğunu göreceksiniz. Bu, tekrar sistem genelindeki Python ortamına döndüğünüz anlamına gelir.

Neden Sanal Ortamlar Önemlidir?

* İzolasyon: Her projenin kendi bağımlılık setine sahip olmasını sağlar, çakışmaları önler.
* Temizlik: Projeniz bittiğinde, sanal ortam dizinini silerek tüm bağımlılıkları kolayca kaldırabilirsiniz, sistem genelini etkilemez.
* Taşınabilirlik: Projenizin requirements.txt dosyasını oluşturarak (örneğin pip freeze > requirements.txt), projenizi başka bir makineye taşıdığınızda tüm bağımlılıkları kolayca yeniden kurabilirsiniz (pip install -r requirements.txt).

Bu adımları tamamladıktan sonra, Jupyter Notebook kurulumuna geçmeye hazırız. Unutmayın, Jupyter’ı kurmadan önce her zaman sanal ortamınızı etkinleştirmelisiniz.

Jupyter Notebook Kurulumu

Python ve pip‘in doğru bir şekilde kurulduğundan ve bir sanal ortamın etkinleştirildiğinden emin olduktan sonra, Jupyter Notebook’u kurmak oldukça basittir.

Sanal Ortamınızı Etkinleştirin:

Öncelikle, önceki adımda oluşturduğunuz sanal ortamı etkinleştirin:

cd my_jupyter_project
source venv/bin/activate

Terminal isteminizde (venv) ifadesini gördüğünüzden emin olun.

Jupyter’ı Kurma:

Sanal ortam etkinleştirildikten sonra, pip kullanarak Jupyter Notebook’u kurabiliriz:

pip install jupyter

Bu komut, Jupyter’ın tüm temel bileşenlerini kuracaktır. Bu bileşenler arasında Jupyter çekirdekleri (IPython çekirdeği dahil), Jupyter Notebook web uygulaması, nbconvert (notebook’ları farklı formatlara dönüştürmek için) ve diğer yardımcı programlar bulunur. Kurulum süresi internet hızınıza ve sistem performansınıza bağlı olarak birkaç dakika sürebilir. pip, gerekli tüm bağımlılıkları otomatik olarak indirip kuracaktır.

Kurulumu Doğrulama:

Kurulum tamamlandıktan sonra, Jupyter’ın doğru bir şekilde kurulduğunu ve sanal ortamınızda erişilebilir olduğunu doğrulamak için sürümünü kontrol edebilirsiniz:

jupyter --version

Bu komut, kurulu Jupyter bileşenlerinin sürümlerini listelemelidir. Eğer bu komut bir hata vermezse ve sürüm bilgilerini gösterirse, Jupyter Notebook başarıyla kurulmuş demektir.

Önemli Not: Eğer sanal ortamı etkinleştirmeden pip install jupyter komutunu çalıştırırsanız, Jupyter sistem genelinde Python ortamına kurulur. Bu çalışır, ancak sanal ortamların sunduğu izolasyon avantajlarından mahrum kalırsınız. Her zaman sanal ortam içinde çalışmanız önerilir.

Jupyter Notebook artık sanal ortamınızda hazır olduğuna göre, onu çalıştırmaya ve kullanmaya başlayabiliriz.

Jupyter Notebook’u Çalıştırma

Jupyter Notebook’u kurduktan sonra, onu çalıştırmak ve interaktif Python ortamınızla etkileşime geçmek oldukça kolaydır.

Sanal Ortamınızı Etkinleştirin:

Jupyter’ı çalıştırmadan önce, her zaman sanal ortamınızın etkin olduğundan emin olun:

cd my_jupyter_project
source venv/bin/activate

Jupyter Notebook Sunucusunu Başlatma:

Sanal ortamınız etkinleştirildikten sonra, Jupyter Notebook sunucusunu başlatmak için aşağıdaki komutu kullanın:

jupyter notebook

Bu komutu çalıştırdığınızda, terminalde birkaç satır çıktı göreceksiniz. Bu çıktılar arasında, Jupyter sunucusunun çalıştığı adresi (genellikle http://localhost:8888/) ve bir “token” (belirteç) bulunur. Varsayılan olarak, Jupyter otomatik olarak varsayılan web tarayıcınızı açacak ve bu adrese token ile birlikte yönlendirecektir.

Eğer tarayıcı otomatik olarak açılmazsa veya farklı bir tarayıcı kullanmak isterseniz, terminal çıktısındaki URL’yi kopyalayıp manuel olarak web tarayıcınızın adres çubuğuna yapıştırabilirsiniz. URL genellikle şuna benzer:

http://localhost:8888/?token=a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0

Token, Jupyter oturumunuza güvenli bir şekilde erişmek için kullanılır.

Jupyter Notebook Arayüzü:

Tarayıcınızda açılan sayfa, Jupyter Notebook’un ana kontrol panelidir. Bu panel, Jupyter sunucusunun başlatıldığı dizindeki tüm dosya ve klasörleri gösterir. Burada şunları yapabilirsiniz:

* Yeni Notebook Oluşturma: Sağ üst köşedeki “New” (Yeni) düğmesine tıklayarak “Python 3” seçeneğini seçerek yeni bir Jupyter Notebook dosyası (.ipynb uzantılı) oluşturabilirsiniz. Bu, boş bir defter sayfası açacaktır.
* Dosyaları Yükleme: “Upload” (Yükle) düğmesini kullanarak yerel bilgisayarınızdan dosyaları Jupyter ortamına yükleyebilirsiniz.
* Klasörler Oluşturma: “New” düğmesindeki “Folder” (Klasör) seçeneğiyle yeni klasörler oluşturarak çalışma alanınızı düzenleyebilirsiniz.
* Mevcut Notebook’ları Açma: Listelenen .ipynb dosyalarına tıklayarak mevcut defterleri açabilir ve düzenlemeye devam edebilirsiniz.

Yeni Bir Notebook İçinde Çalışma:

Yeni bir Python 3 defteri açtığınızda, boş bir “hücre” (cell) ile karşılaşacaksınız. Hücreler, Jupyter Notebook’un temel yapı taşlarıdır ve kod veya Markdown metni içerebilirler.

* Kod Hücresi: Varsayılan olarak, hücreler kod hücresidir. Buraya Python kodunuzu yazabilirsiniz. Örneğin:

print("Merhaba, Jupyter!")
    a = 10
    b = 20
    print(a + b)

Kodu çalıştırmak için hücreyi seçip araç çubuğundaki “Run” (Çalıştır) düğmesine tıklayabilir veya Shift + Enter tuşlarına basabilirsiniz. Kodun çıktısı, hücrenin hemen altında görünecektir.
* Markdown Hücresi: Hücre türünü değiştirmek için araç çubuğundaki açılır menüden “Markdown”ı seçin. Bu hücrelerde metin, başlıklar, listeler, bağlantılar ve görseller eklemek için Markdown sözdizimini kullanabilirsiniz. Örneğin:

# Bu Bir Başlık
    Bu, kalın ve italik metin içeren bir paragraftır.
    - Madde 1
    - Madde 2

Markdown hücresini çalıştırmak da Shift + Enter ile yapılır ve Markdown metni biçimlendirilmiş bir şekilde görüntülenir.

Notebook’u Kaydetme:

Notebook’unuzu kaydetmek için dosya menüsünden “File” -> “Save and Checkpoint” seçeneğini kullanabilir veya araç çubuğundaki disket simgesine tıklayabilirsiniz. Notebook’lar otomatik olarak .ipynb uzantısıyla kaydedilir.

Jupyter Notebook Sunucusunu Durdurma:

Jupyter Notebook sunucusunu durdurmak için, sunucuyu başlattığınız terminal penceresine geri dönün ve Ctrl + C tuşlarına iki kez basın. Bu, sunucuyu kapatacak ve terminal istemine geri dönecektir. Tarayıcıdaki defter sayfaları artık çalışmayacaktır.

Bu adımlarla, Ubuntu 16.04 üzerinde Jupyter Notebook’u başarıyla kurdunuz, başlattınız ve temel işlemleri gerçekleştirdiniz. Artık interaktif veri analizi ve kod geliştirme için hazır bir ortamınız var.

IPython Kernelini Kullanma

Jupyter Notebook’un kalbinde yatan ve Python kodunu yürüten temel bileşen IPython çekirdeğidir. Yeni bir Jupyter Notebook oluşturduğunuzda ve “Python 3” seçeneğini seçtiğinizde, aslında IPython çekirdeğini kullanmaya başlarsınız. IPython, standart Python kabuğuna göre birçok gelişmiş özellik sunar ve bu özellikler Jupyter Notebook ortamında da tam olarak kullanılabilir.

Etkileşimli Kod Yürütme

Jupyter Notebook’taki her kod hücresi, IPython çekirdeği tarafından yürütülür. Bu, anında geri bildirim almanızı ve kodunuzu adım adım geliştirmenizi sağlar.

# Basit bir Python hesaplaması
x = 5
y = 10
z = x * y
print(f"Sonuç: {z}")

Çalıştırdığınızda, Sonuç: 50 çıktısını hemen hücrenin altında göreceksiniz.

Sihirli Komutlar (Magic Commands)

IPython’un en güçlü özelliklerinden biri “sihirli komutlar”dır. Bu komutlar, Python sözdizimi olmamalarına rağmen, Python ortamında özel işlevler gerçekleştirmek için kullanılır. Tek bir yüzde işareti (%) ile başlayanlar satır sihirli komutlarıdır, çift yüzde işareti (%%) ile başlayanlar ise hücre sihirli komutlarıdır.

Bazı yaygın sihirli komutlar:

* %matplotlib inline: Matplotlib çizimlerinin notebook içinde doğrudan görüntülenmesini sağlar. Veri görselleştirmesi yaparken vazgeçilmezdir.

%matplotlib inline
    import matplotlib.pyplot as plt
    import numpy as np

    x = np.linspace(0, 10, 100)
    y = np.sin(x)

    plt.plot(x, y)
    plt.title("Sinüs Dalgası")
    plt.xlabel("X Ekseni")
    plt.ylabel("Y Ekseni")
    plt.show()

* %timeit: Bir Python ifadesinin veya kod bloğunun yürütülme süresini ölçer. Performans analizi için çok kullanışlıdır.

%timeit [i2 for i in range(1000)]

Bu komut, liste anlama ifadesinin kaç milisaniye veya mikrosaniye sürdüğünü ve kaç kez tekrarlandığını gösterecektir.
* %whos: Mevcut ortamdaki tüm değişkenleri ve tiplerini listeler.

a = 10
    b = "merhaba"
    c = [1, 2, 3]
    %whos

* %run: Başka bir Python betiğini mevcut notebook ortamında çalıştırır.

# my_script.py adında bir dosyanız varsa
    # print("Merhaba, betikten!")
    %run my_script.py

* %%writefile: Bir hücrenin içeriğini bir dosyaya yazar.

%%writefile test_file.txt
    Bu, bir test dosyasına yazılacak metindir.
    İkinci satır.

* %pwd: Mevcut çalışma dizinini gösterir.
* %cd: Çalışma dizinini değiştirir.

Tüm sihirli komutların listesini görmek için %lsmagic komutunu kullanabilirsiniz. Herhangi bir sihirli komut hakkında yardım almak için ise komutun sonuna ? ekleyin (örneğin, %timeit?).

Shell Komutları

IPython çekirdeği sayesinde, Jupyter Notebook içinde doğrudan sistem kabuk komutlarını da çalıştırabilirsiniz. Bunun için komutun başına ! işareti koymanız yeterlidir.

!ls -l
!pwd
!echo "Bu bir shell komutunun çıktısıdır."

Bu özellik, dosya sisteminde gezinmek, dosya işlemleri yapmak veya sistem bilgilerini kontrol etmek için oldukça kullanışlıdır.

Zengin Çıktılar

IPython, sadece metin tabanlı çıktılar yerine, görseller, HTML, LaTeX ve diğer zengin medya türlerini doğrudan notebook’ta görüntüleme yeteneğine sahiptir. Bu, veri analizi ve raporlama için büyük bir avantajdır. Örneğin, Pandas DataFrame’leri HTML tabloları olarak, Matplotlib grafikleri ise doğrudan gömülü görseller olarak gösterilir.

import pandas as pd

data = {'Sütun1': [1, 2, 3], 'Sütun2': ['A', 'B', 'C']}
df = pd.DataFrame(data)
df

Bu kod çalıştırıldığında, df DataFrame’i şık bir HTML tablosu olarak görüntülenecektir.

IPython çekirdeği, Jupyter Notebook deneyimini bu güçlü özelliklerle zenginleştirir. Bu yetenekleri kullanarak, veri analizi, model geliştirme ve sonuçların paylaşımı süreçlerinizi çok daha interaktif, verimli ve görsel açıdan zengin hale getirebilirsiniz.

Ekstra Konfigürasyonlar ve Kullanım İpuçları

Jupyter Notebook’u temel olarak kurup çalıştırmayı öğrendikten sonra, deneyiminizi daha güvenli, verimli ve özelleştirilebilir hale getirmek için bazı ek konfigürasyonlar ve kullanım ipuçları bulunmaktadır.

Çalışma Dizini Belirleme

jupyter notebook komutunu çalıştırdığınızda, Jupyter sunucusu komutun çalıştırıldığı dizini ana çalışma dizini olarak kabul eder. Bu dizin, Jupyter arayüzünde gördüğünüz kök dizin olacaktır. Projelerinizi düzenli tutmak için, her zaman ilgili proje dizininin içinden jupyter notebook komutunu çalıştırmanız önerilir:

cd /path/to/my/data_science_project
source venv/bin/activate
jupyter notebook

Bu, defterlerinizin ve ilgili veri dosyalarınızın aynı yerde olmasını sağlar ve dosya yollarını yönetmeyi kolaylaştırır.

Jupyter Notebook İçin Parola Belirleme

Jupyter Notebook’u yerel makinenizde kullanıyorsanız, genellikle parola gerekmez. Ancak, özellikle bir sunucu üzerinde çalıştırıyorsanız veya ağ üzerinden erişilebilir olmasını istiyorsanız, güvenlik için bir parola belirlemek önemlidir.

1. Parola Oluşturma: Terminalde aşağıdaki komutu çalıştırın (sanal ortam etkin olsun veya olmasın fark etmez):

jupyter notebook password

Bu komut, sizden yeni bir parola girmenizi ve onaylamanızı isteyecektir. Parola, şifrelenmiş bir şekilde Jupyter konfigürasyon dosyasına kaydedilecektir.

2. Jupyter’ı Başlatma: Parola belirledikten sonra, jupyter notebook komutunu çalıştırdığınızda, tarayıcınızda Jupyter arayüzüne erişmeden önce sizden bu parolayı girmenizi isteyecektir.

Uzak Sunucuda Çalıştırma (SSH Tünelleme ile)

Jupyter Notebook’u bir uzak Ubuntu 16.04 sunucusunda çalıştırmak ve yerel makinenizdeki tarayıcıdan erişmek oldukça yaygın bir senaryodur. Bu, genellikle SSH tünelleme kullanılarak yapılır.

1. Uzak Sunucuda Jupyter’ı Başlatma: Uzak sunucuda SSH ile oturum açın, sanal ortamınızı etkinleştirin ve Jupyter’ı tarayıcı açmadan ve tüm IP adreslerinden erişilebilir olacak şekilde başlatın:

jupyter notebook --no-browser --port=8888 --ip=0.0.0.0

Bu komut, tarayıcınızı otomatik olarak açmayacak ve Jupyter’ın 8888 numaralı portta (veya belirttiğiniz başka bir portta) tüm ağ arayüzlerinden bağlantıları dinlemesini sağlayacaktır. Terminal çıktısında bir token göreceksiniz; bunu kopyalayın.

2. Yerel Makinede SSH Tüneli Oluşturma: Yerel makinenizdeki terminalde aşağıdaki komutu çalıştırın:

ssh -N -f -L 8888:localhost:8888 user@your_server_ip

* -N: Uzak komut çalıştırmaz.
* -f: SSH’yi arka planda çalıştırır.
* -L 8888:localhost:8888: Yerel makinenizin 8888 portunu, uzak sunucunun 8888 portuna yönlendirir.
* user@your_server_ip: Uzak sunucunuzun kullanıcı adı ve IP adresidir.

3. Yerel Tarayıcıdan Erişim: SSH tüneli kurulduktan sonra, yerel web tarayıcınızda http://localhost:8888 adresine gidin. Uzak sunucuda Jupyter’ı başlatırken aldığınız token’ı girerek veya belirlediyseniz parolanızı kullanarak erişim sağlayabilirsiniz.

Diğer Çekirdekleri (Kernels) Kurma (R, Julia vb.)

Jupyter Notebook sadece Python ile sınırlı değildir. R, Julia, Scala ve hatta Bash gibi birçok farklı programlama dili için çekirdekler mevcuttur. Örneğin, R için IRkernel‘i kurmak isterseniz:

1. R’ı kurun: Ubuntu’ya R’ı kurun (örneğin sudo apt install r-base).
2. R içinden IRkernel’i kurun: R konsolunu açın ve aşağıdaki komutları çalıştırın:

install.packages('IRkernel')
    IRkernel::installspec()

Bu adımlardan sonra, Jupyter Notebook’ta “New” menüsünde “R” seçeneğini göreceksiniz.

JupyterLab Kullanımı

JupyterLab, Jupyter Notebook’un yeni nesil kullanıcı arayüzüdür ve daha modern, esnek ve entegre bir geliştirme ortamı sunar. Notebook’lara ek olarak, bir dosya tarayıcısı, terminal, metin düzenleyici ve diğer bileşenleri tek bir pencerede birleştirir. Jupyter Notebook’u kurduysanız, JupyterLab’ı kurmak oldukça kolaydır:

source venv/bin/activate
pip install jupyterlab
jupyter lab

JupyterLab, Jupyter Notebook’un tüm özelliklerini içerir ve üzerine daha fazlasını ekler. Denemeniz şiddetle tavsiye edilir.

Jupyter Notebook Uzantıları (Extensions)

Jupyter Notebook’un işlevselliğini artıran birçok topluluk tarafından geliştirilmiş uzantı (nbextensions) bulunmaktadır. Bu uzantılar, otomatik kod biçimlendirme, tablo içeriği, çizimlerin otomatik numaralandırılması gibi özellikler ekleyebilir.

source venv/bin/activate
pip install jupyter_contrib_nbextensions
jupyter contrib nbextension install --user
jupyter nbextension enable hinterland/hinterland

Kurulumdan sonra, Jupyter Notebook ana sayfasında “Nbextensions” adında yeni bir sekme göreceksiniz, buradan uzantıları etkinleştirebilir veya devre dışı bırakabilirsiniz.

Bu ek konfigürasyonlar ve ipuçları, Jupyter Notebook deneyiminizi Ubuntu 16.04 üzerinde daha verimli ve güçlü hale getirmenize yardımcı olacaktır.

Sık Karşılaşılan Sorunlar ve Çözümleri

Jupyter Notebook kurulumu ve kullanımı sırasında karşılaşabileceğiniz bazı yaygın sorunlar ve bunların çözümleri aşağıda listelenmiştir.

1. jupyter: command not found veya pip: command not found

Sorun: Terminalde jupyter veya pip komutlarını çalıştırdığınızda bu hatayı alıyorsunuz.

Çözüm:
* Sanal Ortam Etkin Mi? En yaygın neden, Jupyter’ı bir sanal ortama kurmuş olmanız ancak sanal ortamı etkinleştirmemiş olmanızdır. Sanal ortamı etkinleştirmek için source venv/bin/activate komutunu kullandığınızdan emin olun.
* PATH Değişkeni: Python veya pip’in yüklü olduğu dizinler PATH ortam değişkeninizde olmayabilir. Genellikle pip kurulduğunda otomatik olarak ~/.local/bin dizinine eklenir. Bu dizinin PATH‘inizde olup olmadığını kontrol edin: echo $PATH. Eğer yoksa, ~/.bashrc veya ~/.profile dosyanıza aşağıdaki satırı ekleyip terminali yeniden başlatın: export PATH="$HOME/.local/bin:$PATH".
* Kurulum Hatası: pip install jupyter komutunun sorunsuz çalıştığından emin olun. Hata mesajlarını dikkatlice inceleyin.

2. Port 8888 is already in use

Sorun: Jupyter Notebook’u başlatmaya çalıştığınızda, varsayılan 8888 portunun zaten kullanımda olduğunu belirten bir hata alıyorsunuz.

Çözüm:
* Başka Bir Jupyter Örneği: Daha önce başka bir Jupyter Notebook sunucusu çalıştırmış ve kapatmayı unutmuş olabilirsiniz. Terminalde jupyter notebook komutunu çalıştırdığınız pencereye gidin ve Ctrl + C tuşlarına iki kez basarak sunucuyu kapatın.
* Farklı Bir Port Kullanma: Jupyter’ı farklı bir portta başlatabilirsiniz:

jupyter notebook --port=8889

Bu komut, Jupyter’ı 8889 numaralı portta başlatacaktır.

3. Kernel Ölümü (Kernel Died) veya Başlatılamıyor

Sorun: Notebook içindeki hücreleri çalıştırdığınızda kernel aniden duruyor veya yeni bir notebook açtığınızda kernel başlatılamıyor.

Çözüm:
* Bellek Yetersizliği: Özellikle büyük veri setleriyle çalışırken veya çok sayıda hesaplama yaparken sistem belleği yetersiz kalabilir. Daha az bellek tüketen işlemler yapmayı deneyin veya sisteminize daha fazla RAM eklemeyi düşünün.
* Bağımlılık Sorunları: Kernel’in ihtiyaç duyduğu bazı Python kütüphaneleri eksik veya bozuk olabilir. Sanal ortamınızın etkin olduğundan ve tüm gerekli kütüphanelerin (numpy, pandas, matplotlib vb.) doğru bir şekilde yüklendiğinden emin olun:

pip install --upgrade numpy pandas matplotlib scipy

* Kernel Yeniden Başlatma: Notebook arayüzünde “Kernel” menüsünden “Restart” veya “Restart & Clear Output” seçeneklerini deneyin.
* Jupyter Sürümü: Nadiren de olsa, Jupyter veya IPython’un eski/bozuk bir sürümü bu tür sorunlara neden olabilir. Tüm Jupyter bileşenlerini yükseltmeyi deneyin:

pip install --upgrade jupyter

4. sudo pip install Kullanımı ve İzin Sorunları

Sorun: Paketleri kurarken izin hataları alıyorsunuz ve sudo pip install kullanmak zorunda kalıyorsunuz.

Çözüm:
* sudo pip install‘dan Kaçının: Genel olarak, sudo pip install kullanmaktan kaçınmalısınız. Bu, sistem genelindeki Python kurulumunuzu bozabilir ve güvenlik riskleri oluşturabilir.
* Sanal Ortam Kullanın: Sanal ortamlar, bu tür izin sorunlarını tamamen ortadan kaldırır çünkü paketleri kullanıcı dizininizdeki izole bir ortama kurarsınız ve yönetici yetkileri gerekmez.
* Kullanıcı Dizinine Kurulum: Eğer sanal ortam kullanmak istemiyorsanız (ki önerilmez), paketleri yalnızca mevcut kullanıcı için kurmak üzere --user bayrağını kullanabilirsiniz: pip install --user package_name. Bu, paketi ~/.local/ dizininize kurar ve sudo gerektirmez. Ancak bu durumda, ~/.local/bin dizininin PATH‘inizde olduğundan emin olmalısınız (yukarıdaki 1. maddeye bakın).

5. Yavaş Performans veya Donma

Sorun: Jupyter Notebook arayüzü yavaş çalışıyor, hücreler uzun sürüyor veya tarayıcı donuyor.

Çözüm:
* Tarayıcı Sorunları: Farklı bir web tarayıcısı (Chrome, Firefox) deneyin. Tarayıcınızdaki eklentiler veya önbellek de performansı etkileyebilir. Tarayıcı önbelleğini temizlemeyi deneyin.
* Büyük Çıktılar: Özellikle büyük DataFrame’ler veya çok sayıda grafik içeren hücreler, tarayıcının yavaşlamasına neden olabilir. Çıktıları daha küçük parçalara bölmeyi veya display() fonksiyonunu kullanarak çıktıyı daha kontrollü hale getirmeyi deneyin.
* Sistem Kaynakları: CPU veya RAM kullanımı çok yüksek olabilir. Sistem monitörünüzü kontrol edin. Eğer bir işlem çok fazla kaynak tüketiyorsa, onu optimize etmeyi veya daha güçlü bir donanım kullanmayı düşünün.
* JupyterLab’e Geçiş: JupyterLab, genellikle daha modern bir arayüze ve daha iyi performans optimizasyonlarına sahiptir. Yavaşlık sorunları yaşıyorsanız JupyterLab’e geçmeyi düşünebilirsiniz.

Bu sorun giderme ipuçları, Jupyter Notebook deneyiminizi Ubuntu 16.04 üzerinde daha sorunsuz hale getirmeye yardımcı olacaktır. Çoğu zaman, sanal ortamları doğru kullanmak ve pip ile paketleri güncel tutmak birçok sorunu önler.

Sonuç

Bu kapsamlı rehber boyunca, Ubuntu 16.04 işletim sistemi üzerinde Jupyter Notebook’u ve onunla birlikte çalışan güçlü IPython çekirdeğini nasıl kuracağınızı ve yapılandıracağınızı adım adım inceledik. Python’ın temel kurulumundan başlayarak, modern geliştirme için vazgeçilmez olan sanal ortamların önemini vurguladık ve virtualenv kullanarak nasıl izole geliştirme ortamları oluşturulacağını gösterdik. Ardından, pip aracılığıyla Jupyter Notebook’un nasıl kurulduğunu, sunucunun nasıl başlatıldığını ve web tabanlı arayüzde temel işlemlerin nasıl gerçekleştirileceğini detaylandırdık.

IPython çekirdeğinin sunduğu sihirli komutlar ve kabuk entegrasyonu gibi gelişmiş özelliklerin, interaktif veri analizi ve bilimsel hesaplama süreçlerinizi nasıl zenginleştirebileceğini ele aldık. Ayrıca, parola koruması, uzak sunucu erişimi için SSH tünelleme, diğer programlama dilleri için çekirdek kurulumu ve JupyterLab gibi modern alternatifler ile Jupyter Notebook uzantıları gibi ek konfigürasyon ve kullanım ipuçları sunduk. Son olarak, kurulum ve kullanım sırasında sıkça karşılaşılan sorunlara pratik çözümler sunarak, olası engelleri aşmanıza yardımcı olmayı amaçladık.

Jupyter Notebook, veri bilimi, makine öğrenimi, eğitim ve araştırma alanlarında kod yazma, verileri analiz etme, sonuçları görselleştirme ve bulguları paylaşma şeklimizi kökten değiştiren devrim niteliğinde bir araçtır. Ubuntu 16.04 gibi sağlam bir Linux dağıtımı üzerinde bu güçlü ortamı kurmak, projeleriniz için sağlam bir temel oluşturmanızı sağlar. Bu rehberdeki adımları takip ederek, artık kendi interaktif Python geliştirme ortamınıza sahipsiniz.

Bundan sonraki adımlarınız, kurduğunuz bu ortamı kullanarak gerçek dünya projelerine dalmak, Python’ın zengin veri bilimi kütüphanelerini (NumPy, Pandas, Matplotlib, Scikit-learn vb.) keşfetmek ve Jupyter Notebook’un sunduğu tüm imkanlardan faydalanmak olmalıdır. Öğrenme ve keşfetme yolculuğunuzda başarılar dileriz!

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