{"id":31021,"date":"2025-10-04T20:41:27","date_gmt":"2025-10-04T17:41:27","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=31021"},"modified":"2025-10-04T20:41:27","modified_gmt":"2025-10-04T17:41:27","slug":"ubuntu-18-04-uzerine-jupyterlab-ortami-kurulumu-kapsamli-bir-rehber","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerine-jupyterlab-ortami-kurulumu-kapsamli-bir-rehber\/","title":{"rendered":"Ubuntu 18.04 \u00dczerine JupyterLab Ortam\u0131 Kurulumu: Kapsaml\u0131 Bir Rehber"},"content":{"rendered":"<p><body><\/p>\n<h2>Ubuntu 18.04 \u00dczerine JupyterLab Ortam\u0131 Kurulumu: Kapsaml\u0131 Bir Rehber<\/h2>\n<h3>Giri\u015f: JupyterLab Nedir ve Neden Kullanmal\u0131s\u0131n\u0131z?<\/h3>\n<p>JupyterLab, Jupyter projesinin yeni nesil web tabanl\u0131 kullan\u0131c\u0131 aray\u00fcz\u00fcd\u00fcr ve bilimsel hesaplama, veri bilimi, makine \u00f6\u011frenimi ve interaktif geli\u015ftirme i\u00e7in g\u00fc\u00e7l\u00fc ve esnek bir ortam sunar. Geleneksel Jupyter Notebook&#8217;un t\u00fcm \u00f6zelliklerini bar\u0131nd\u0131rmas\u0131n\u0131n yan\u0131 s\u0131ra, \u00e7oklu sekme aray\u00fcz\u00fc, entegre dosya gezgini, terminal, konsol ve geli\u015fmi\u015f uzant\u0131 deste\u011fi gibi modern IDE (Entegre Geli\u015ftirme Ortam\u0131) \u00f6zellikleriyle gelir. Bu sayede, ayn\u0131 aray\u00fcz i\u00e7inde kod yazabilir, verileri g\u00f6rselle\u015ftirebilir, belgeler olu\u015fturabilir ve terminal komutlar\u0131 \u00e7al\u0131\u015ft\u0131rabilirsiniz. JupyterLab&#8217;\u0131n mod\u00fcler yap\u0131s\u0131, kullan\u0131c\u0131lar\u0131n \u00e7al\u0131\u015fma alanlar\u0131n\u0131 kendi ihtiya\u00e7lar\u0131na g\u00f6re \u00f6zelle\u015ftirmelerine olanak tan\u0131r. Python, R, Julia gibi bir\u00e7ok programlama dili i\u00e7in kernel deste\u011fi sunarak, farkl\u0131 dillerde projeler geli\u015ftiren profesyoneller i\u00e7in vazge\u00e7ilmez bir ara\u00e7 haline gelmi\u015ftir.<\/p>\n<p>Peki, neden Ubuntu 18.04 \u00fczerinde JupyterLab kurulumuna odaklan\u0131yoruz? Ubuntu 18.04 LTS (Uzun S\u00fcreli Destek) s\u00fcr\u00fcm\u00fc, sunucu ortamlar\u0131nda ve geli\u015ftirme makinelerinde yayg\u0131n olarak kullan\u0131lan, kararl\u0131 ve g\u00fcvenilir bir i\u015fletim sistemidir. Geni\u015f topluluk deste\u011fi, zengin paket deposu ve uzun s\u00fcreli g\u00fcvenlik g\u00fcncellemeleri sayesinde, geli\u015ftiriciler i\u00e7in sa\u011flam bir temel sunar. Bu rehber, Ubuntu 18.04&#8217;\u00fcn kararl\u0131l\u0131\u011f\u0131 ile JupyterLab&#8217;\u0131n esnekli\u011fini bir araya getirerek, hem yerel geli\u015ftirme ortamlar\u0131 hem de uzaktan eri\u015filebilir sunucu tabanl\u0131 \u00e7\u00f6z\u00fcmler i\u00e7in kapsaml\u0131 bir kurulum s\u00fcreci sunmay\u0131 ama\u00e7lamaktad\u0131r. Bu sayede, veri analistleri, makine \u00f6\u011frenimi m\u00fchendisleri ve ara\u015ft\u0131rmac\u0131lar, projelerini g\u00fcvenilir ve verimli bir ortamda y\u00fcr\u00fctebilirler.<\/p>\n<h3>\u00d6n Ko\u015fullar<\/h3>\n<p>JupyterLab ortam\u0131n\u0131 Ubuntu 18.04 \u00fczerine ba\u015far\u0131yla kurmak i\u00e7in baz\u0131 temel \u00f6n ko\u015fullar\u0131n yerine getirilmi\u015f olmas\u0131 gerekmektedir. Bu \u00f6n ko\u015fullar, kurulum s\u00fcrecinin sorunsuz ilerlemesini sa\u011flayacak ve olas\u0131 hatalar\u0131n \u00f6n\u00fcne ge\u00e7ecektir:<\/p>\n<ul>\n<li><b>Ubuntu 18.04 Y\u00fckl\u00fc Sistem:<\/b> Masa\u00fcst\u00fc veya sunucu s\u00fcr\u00fcm\u00fc fark etmeksizin, \u00e7al\u0131\u015fan bir Ubuntu 18.04 i\u015fletim sistemine sahip olman\u0131z gerekmektedir. Bu rehberdeki komutlar, Ubuntu&#8217;nun standart yap\u0131land\u0131rmas\u0131na uygun olarak haz\u0131rlanm\u0131\u015ft\u0131r.<\/li>\n<li><b>Temel Linux Komut Sat\u0131r\u0131 Bilgisi:<\/b> Terminal \u00fczerinden komut \u00e7al\u0131\u015ft\u0131rma, dizinler aras\u0131nda gezinme (<code>cd<\/code>), dosya olu\u015fturma\/d\u00fczenleme (<code>nano<\/code> veya <code>vim<\/code>), paket y\u00fckleme (<code>apt<\/code>) gibi temel Linux komutlar\u0131na a\u015fina olman\u0131z beklenir.<\/li>\n<li><b>\u0130nternet Ba\u011flant\u0131s\u0131:<\/b> Gerekli paketleri ve ba\u011f\u0131ml\u0131l\u0131klar\u0131 indirmek i\u00e7in aktif bir internet ba\u011flant\u0131s\u0131 \u015fartt\u0131r.<\/li>\n<li><b>Sudo Yetkisine Sahip Bir Kullan\u0131c\u0131:<\/b> Sistem genelinde de\u011fi\u015fiklikler yapabilmek i\u00e7in <code>sudo<\/code> (superuser do) komutunu kullanma yetkisine sahip bir kullan\u0131c\u0131 hesab\u0131n\u0131z olmal\u0131d\u0131r. Genellikle, kurulum s\u0131ras\u0131nda olu\u015fturdu\u011funuz ana kullan\u0131c\u0131 hesab\u0131 bu yetkiye sahiptir.<\/li>\n<\/ul>\n<p>Bu \u00f6n ko\u015fullar sa\u011fland\u0131\u011f\u0131nda, JupyterLab kurulumuna g\u00fcvenle ba\u015flayabiliriz.<\/p>\n<h3>Ad\u0131m 1: Sistemi G\u00fcncelleme<\/h3>\n<p>Herhangi bir yaz\u0131l\u0131m kurulumuna ba\u015flamadan \u00f6nce, i\u015fletim sisteminizin ve kurulu paketlerinizin g\u00fcncel oldu\u011fundan emin olmak en iyi uygulamad\u0131r. Bu ad\u0131m, potansiyel ba\u011f\u0131ml\u0131l\u0131k sorunlar\u0131n\u0131 \u00f6nler, g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 kapat\u0131r ve en yeni paket s\u00fcr\u00fcmlerine eri\u015fmenizi sa\u011flar. Ubuntu&#8217;da sistem g\u00fcncellemesi i\u00e7in a\u015fa\u011f\u0131daki komutlar\u0131 kullan\u0131r\u0131z:<\/p>\n<pre><code class=\"language-bash\">sudo apt update<\/code><\/pre>\n<p>Bu komut, sisteminizin paket listesini g\u00fcnceller. Yani, Ubuntu&#8217;nun resmi depolar\u0131ndan en son paket bilgilerini al\u0131r ve yerel paket indeksinizi yeniler. Bu i\u015flem, hangi paketlerin yeni s\u00fcr\u00fcmlerinin mevcut oldu\u011funu belirlememizi sa\u011flar.<\/p>\n<pre><code class=\"language-bash\">sudo apt upgrade<\/code><\/pre>\n<p><code>apt upgrade<\/code> komutu ise, <code>apt update<\/code> ile g\u00fcncellenen paket listesindeki t\u00fcm y\u00fckl\u00fc paketleri en yeni s\u00fcr\u00fcmlerine y\u00fckseltir. Bu i\u015flem, mevcut yaz\u0131l\u0131mlar\u0131n\u0131zdaki hata d\u00fczeltmelerini, performans iyile\u015ftirmelerini ve yeni \u00f6zellikleri alman\u0131z\u0131 sa\u011flar. Y\u00fckseltme s\u0131ras\u0131nda sizden onay istenebilir; <code>Y<\/code> tu\u015funa bas\u0131p Enter&#8217;a basarak devam edebilirsiniz.<\/p>\n<pre><code class=\"language-bash\">sudo apt autoremove<\/code><\/pre>\n<p>Son olarak, <code>apt autoremove<\/code> komutu, art\u0131k ihtiya\u00e7 duyulmayan veya di\u011fer paketler taraf\u0131ndan otomatik olarak y\u00fcklenmi\u015f ancak art\u0131k kullan\u0131lmayan ba\u011f\u0131ml\u0131l\u0131klar\u0131 sistemden kald\u0131r\u0131r. Bu, disk alan\u0131ndan tasarruf etmenize ve sisteminizin daha d\u00fczenli kalmas\u0131na yard\u0131mc\u0131 olur. Bu ad\u0131mlar\u0131 tamamlad\u0131ktan sonra, sisteminiz JupyterLab kurulumu i\u00e7in haz\u0131r hale gelmi\u015f olacakt\u0131r.<\/p>\n<h3>Ad\u0131m 2: Python 3 ve pip Kurulumu<\/h3>\n<p>JupyterLab, b\u00fcy\u00fck \u00f6l\u00e7\u00fcde Python ekosistemi \u00fczerine in\u015fa edilmi\u015ftir. Bu nedenle, sistemimizde uygun bir Python 3 s\u00fcr\u00fcm\u00fcn\u00fcn ve Python paket y\u00f6neticisi olan <code>pip<\/code>&#8216;in kurulu olmas\u0131 esast\u0131r. Ubuntu 18.04, varsay\u0131lan olarak Python 3.6.x s\u00fcr\u00fcm\u00fc ile gelir. Bu s\u00fcr\u00fcm, JupyterLab i\u00e7in yeterlidir.<\/p>\n<p>\u00d6ncelikle, sisteminizdeki Python 3 s\u00fcr\u00fcm\u00fcn\u00fc kontrol edelim:<\/p>\n<pre><code class=\"language-bash\">python3 --version<\/code><\/pre>\n<p>Bu komutun \u00e7\u0131kt\u0131s\u0131 genellikle <code>Python 3.6.x<\/code> \u015feklinde olacakt\u0131r. E\u011fer Python 3 kurulu de\u011filse veya \u00e7ok eski bir s\u00fcr\u00fcmse (ki Ubuntu 18.04&#8217;te bu pek olas\u0131 de\u011fildir), a\u015fa\u011f\u0131daki komutla kurabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo apt install python3<\/code><\/pre>\n<p>\u015eimdi, Python paketlerini y\u00f6netmek i\u00e7in <code>pip<\/code>&#8216;i kurmam\u0131z gerekiyor. Ubuntu 18.04&#8217;te <code>pip<\/code>&#8216;i Python 3 i\u00e7in <code>python3-pip<\/code> paketi olarak kurar\u0131z:<\/p>\n<pre><code class=\"language-bash\">sudo apt install python3-pip<\/code><\/pre>\n<p>Kurulum tamamland\u0131ktan sonra, <code>pip<\/code>&#8216;in do\u011fru \u015fekilde kuruldu\u011funu ve \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 do\u011frulamak i\u00e7in s\u00fcr\u00fcm\u00fcn\u00fc kontrol edelim:<\/p>\n<pre><code class=\"language-bash\">pip3 --version<\/code><\/pre>\n<p>Bu komutun \u00e7\u0131kt\u0131s\u0131 <code>pip<\/code>&#8216;in s\u00fcr\u00fcm numaras\u0131n\u0131 ve Python 3 ile ili\u015fkili oldu\u011funu g\u00f6sterecektir. <code>pip<\/code>&#8216;i sistem genelinde g\u00fcncel tutmak iyi bir al\u0131\u015fkanl\u0131kt\u0131r, bu nedenle a\u015fa\u011f\u0131daki komutla <code>pip<\/code>&#8216;i en son s\u00fcr\u00fcm\u00fcne y\u00fckseltebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">pip3 install --upgrade pip<\/code><\/pre>\n<p>Bu ad\u0131mlarla, JupyterLab&#8217;\u0131n temel ba\u011f\u0131ml\u0131l\u0131\u011f\u0131 olan Python 3 ve paket y\u00f6neticisi <code>pip<\/code> ba\u015far\u0131yla kurulmu\u015f ve g\u00fcncellenmi\u015f olacakt\u0131r.<\/p>\n<h3>Ad\u0131m 3: Sanal Ortam Olu\u015fturma ve Y\u00f6netimi (\u015eiddetle Tavsiye Edilir)<\/h3>\n<p>Sanal ortamlar, Python projeleri geli\u015ftirirken en iyi uygulamalardan biridir. Sanal ortamlar, her projenin kendi ba\u011f\u0131ml\u0131l\u0131k setine sahip olmas\u0131n\u0131 sa\u011flayarak, farkl\u0131 projeler aras\u0131ndaki ba\u011f\u0131ml\u0131l\u0131k \u00e7ak\u0131\u015fmalar\u0131n\u0131 \u00f6nler ve sistem genelindeki Python kurulumunu temiz tutar. Bu, \u00f6zellikle farkl\u0131 projelerde farkl\u0131 k\u00fct\u00fcphane s\u00fcr\u00fcmlerine ihtiya\u00e7 duyuldu\u011funda hayati \u00f6nem ta\u015f\u0131r. Python 3.3 ve sonraki s\u00fcr\u00fcmlerle birlikte gelen <code>venv<\/code> mod\u00fcl\u00fc, sanal ortam olu\u015fturmay\u0131 olduk\u00e7a kolayla\u015ft\u0131r\u0131r.<\/p>\n<p>\u00d6ncelikle, sanal ortamlar\u0131m\u0131z\u0131 depolamak i\u00e7in bir dizin olu\u015ftural\u0131m. Bu genellikle kullan\u0131c\u0131n\u0131n ana dizininde (<code>~<\/code>) veya projelerin bulundu\u011fu bir dizinde yap\u0131l\u0131r:<\/p>\n<pre><code class=\"language-bash\">mkdir ~\/jupyterlab_envs\ncd ~\/jupyterlab_envs<\/code><\/pre>\n<p>\u015eimdi, bu dizin i\u00e7inde JupyterLab i\u00e7in \u00f6zel bir sanal ortam olu\u015ftural\u0131m. Ortama <code>jupyterlab_env<\/code> ad\u0131n\u0131 verebiliriz:<\/p>\n<pre><code class=\"language-bash\">python3 -m venv jupyterlab_env<\/code><\/pre>\n<p>Bu komut, <code>jupyterlab_env<\/code> ad\u0131nda yeni bir dizin olu\u015fturur ve bu dizinin i\u00e7ine izole bir Python ortam\u0131 kopyalar. Bu ortam\u0131n kendine ait bir <code>pip<\/code> kopyas\u0131 olacakt\u0131r.<\/p>\n<p>Sanal ortam\u0131 kullanmaya ba\u015flamak i\u00e7in onu etkinle\u015ftirmemiz gerekir:<\/p>\n<pre><code class=\"language-bash\">source jupyterlab_env\/bin\/activate<\/code><\/pre>\n<p>Ortam etkinle\u015ftirildi\u011finde, terminal istemcinizin ba\u015f\u0131nda parantez i\u00e7inde sanal ortam\u0131n ad\u0131n\u0131 (<code>(jupyterlab_env)<\/code>) g\u00f6receksiniz. Bu, art\u0131k sanal ortam\u0131n\u0131zda oldu\u011funuzu ve y\u00fckleyece\u011finiz t\u00fcm Python paketlerinin bu ortama \u00f6zg\u00fc olaca\u011f\u0131n\u0131 g\u00f6sterir. Etkinle\u015ftirilmi\u015f bir sanal ortamda <code>pip install<\/code> ile y\u00fcklenen her \u015fey, sistem genelindeki Python kurulumunuzu etkilemeyecektir.<\/p>\n<p>Sanal ortamdan \u00e7\u0131kmak istedi\u011finizde ise \u015fu komutu kullanman\u0131z yeterlidir:<\/p>\n<pre><code class=\"language-bash\">deactivate<\/code><\/pre>\n<p><code>deactivate<\/code> komutunu \u00e7al\u0131\u015ft\u0131rd\u0131ktan sonra terminal istemcinizdeki <code>(jupyterlab_env)<\/code> ibaresi kaybolacak ve tekrar sistem genelindeki Python ortam\u0131n\u0131za d\u00f6nm\u00fc\u015f olacaks\u0131n\u0131z. Her JupyterLab kullanmak istedi\u011finizde, sanal ortam\u0131 tekrar etkinle\u015ftirmeniz gerekecektir. Bu ad\u0131m, JupyterLab&#8217;\u0131n di\u011fer Python projelerinizle veya sisteminizle \u00e7ak\u0131\u015fmadan izole bir \u015fekilde \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flar ve uzun vadede size b\u00fcy\u00fck kolayl\u0131k sunar.<\/p>\n<h3>Ad\u0131m 4: JupyterLab Kurulumu<\/h3>\n<p>Sanal ortam\u0131m\u0131z\u0131 ba\u015far\u0131yla olu\u015fturup etkinle\u015ftirdikten sonra, art\u0131k JupyterLab&#8217;\u0131 bu ortama kurmaya haz\u0131r\u0131z. Bu ad\u0131m, <code>pip<\/code> paket y\u00f6neticisi kullan\u0131larak olduk\u00e7a basittir.<\/p>\n<p>\u00d6ncelikle, sanal ortam\u0131n\u0131z\u0131n etkin oldu\u011fundan emin olun. E\u011fer de\u011filseniz, \u00f6nceki ad\u0131mdaki gibi etkinle\u015ftirin:<\/p>\n<pre><code class=\"language-bash\">cd ~\/jupyterlab_envs\nsource jupyterlab_env\/bin\/activate<\/code><\/pre>\n<p>Terminal istemcinizde <code>(jupyterlab_env)<\/code> ibaresini g\u00f6rd\u00fc\u011f\u00fcn\u00fczde, a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131rarak JupyterLab&#8217;\u0131 kurabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">pip install jupyterlab<\/code><\/pre>\n<p>Bu komut, <code>pip<\/code>&#8216;e JupyterLab paketini ve onun t\u00fcm ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 PyPI (Python Package Index) deposundan indirip mevcut sanal ortama kurmas\u0131n\u0131 s\u00f6yler. Kurulum s\u00fcresi internet ba\u011flant\u0131n\u0131z\u0131n h\u0131z\u0131na ve sisteminizin performans\u0131na ba\u011fl\u0131 olarak birka\u00e7 dakika s\u00fcrebilir. Kurulum s\u0131ras\u0131nda bir\u00e7ok paketin indirildi\u011fini ve y\u00fcklendi\u011fini g\u00f6steren \u00e7\u0131kt\u0131lar g\u00f6receksiniz.<\/p>\n<p>Kurulum tamamland\u0131\u011f\u0131nda, Jupyter&#8217;\u0131n genel olarak kuruldu\u011funu ve JupyterLab bile\u015feninin de dahil oldu\u011funu do\u011frulamak i\u00e7in a\u015fa\u011f\u0131daki komutu kullanabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">jupyter --version<\/code><\/pre>\n<p>Bu komut, Jupyter&#8217;\u0131n kurulu s\u00fcr\u00fcm\u00fcn\u00fc ve ili\u015fkili di\u011fer bile\u015fenlerin (\u00f6rne\u011fin <code>jupyter_client<\/code>, <code>jupyter_core<\/code>) versiyonlar\u0131n\u0131 listeler. Bu \u00e7\u0131kt\u0131, JupyterLab&#8217;\u0131n ba\u015far\u0131yla kuruldu\u011funu teyit etmenize yard\u0131mc\u0131 olacakt\u0131r. E\u011fer bir hata al\u0131rsan\u0131z veya <code>jupyter<\/code> komutu bulunamazsa, sanal ortam\u0131n\u0131z\u0131n etkin oldu\u011fundan ve <code>pip install jupyterlab<\/code> komutunun hatas\u0131z tamamland\u0131\u011f\u0131ndan emin olun. Bu ad\u0131mla birlikte, JupyterLab \u00e7ekirdek kurulumu tamamlanm\u0131\u015ft\u0131r ve art\u0131k onu \u00e7al\u0131\u015ft\u0131rmaya haz\u0131r\u0131z.<\/p>\n<h3>Ad\u0131m 5: JupyterLab&#8217;\u0131 \u00c7al\u0131\u015ft\u0131rma<\/h3>\n<p>JupyterLab&#8217;\u0131 sanal ortam\u0131m\u0131za kurduktan sonra, onu ba\u015flat\u0131p web taray\u0131c\u0131n\u0131z \u00fczerinden eri\u015fmeye haz\u0131rs\u0131n\u0131z. Bu ad\u0131m, JupyterLab&#8217;\u0131n temel i\u015flevselli\u011fini test etmek ve ilk \u00e7al\u0131\u015fma alan\u0131n\u0131z\u0131 olu\u015fturmak i\u00e7in kritik \u00f6neme sahiptir.<\/p>\n<p>\u00d6ncelikle, sanal ortam\u0131n\u0131z\u0131n etkin oldu\u011fundan emin olun. E\u011fer de\u011filseniz, <code>cd ~\/jupyterlab_envs<\/code> komutuyla sanal ortamlar\u0131n\u0131z\u0131n bulundu\u011fu dizine gidin ve ard\u0131ndan <code>source jupyterlab_env\/bin\/activate<\/code> komutuyla sanal ortam\u0131 etkinle\u015ftirin.<\/p>\n<p>Sanal ortam etkinle\u015ftirildikten sonra, JupyterLab&#8217;\u0131 ba\u015flatmak i\u00e7in a\u015fa\u011f\u0131daki komutu kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">jupyter lab<\/code><\/pre>\n<p>Bu komutu \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zda, terminalde birka\u00e7 sat\u0131r \u00e7\u0131kt\u0131 g\u00f6receksiniz. Bu \u00e7\u0131kt\u0131lar aras\u0131nda, JupyterLab&#8217;\u0131n hangi port \u00fczerinde \u00e7al\u0131\u015ft\u0131\u011f\u0131 (varsay\u0131lan olarak 8888) ve web taray\u0131c\u0131n\u0131zdan eri\u015fmek i\u00e7in kullanman\u0131z gereken URL&#8217;ler yer alacakt\u0131r. \u00d6rnek bir \u00e7\u0131kt\u0131 \u015f\u00f6yle g\u00f6r\u00fcnebilir:<\/p>\n<pre><code class=\"language-\">[I 2023-10-27 10:30:00.123 LabApp] Serving notebooks from local directory: \/home\/youruser\/jupyterlab_envs\n[I 2023-10-27 10:30:00.123 LabApp] JupyterLab extension loaded from \/home\/youruser\/jupyterlab_envs\/jupyterlab_env\/lib\/python3.6\/site-packages\/jupyterlab\n[I 2023-10-27 10:30:00.123 LabApp] JupyterLab application directory is \/home\/youruser\/jupyterlab_envs\/jupyterlab_env\/share\/jupyter\/lab\n[I 2023-10-27 10:30:00.123 LabApp] The Jupyter Notebook is running at:\n[I 2023-10-27 10:30:00.123 LabApp] http:\/\/localhost:8888\/?token=your_generated_token_here\n[I 2023-10-27 10:30:00.123 LabApp]  or http:\/\/127.0.0.1:8888\/?token=your_generated_token_here\n[I 2023-10-27 10:30:00.123 LabApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).<\/code><\/pre>\n<p>JupyterLab, varsay\u0131lan olarak <code>localhost<\/code> (veya <code>127.0.0.1<\/code>) \u00fczerinde \u00e7al\u0131\u015f\u0131r ve taray\u0131c\u0131n\u0131z\u0131n otomatik olarak a\u00e7\u0131lmas\u0131n\u0131 sa\u011flamaya \u00e7al\u0131\u015f\u0131r. E\u011fer taray\u0131c\u0131n\u0131z otomatik olarak a\u00e7\u0131lmazsa, terminal \u00e7\u0131kt\u0131s\u0131nda verilen URL&#8217;lerden birini (\u00f6zellikle <code>http:\/\/localhost:8888\/?token=your_generated_token_here<\/code> olan\u0131) kopyalay\u0131p web taray\u0131c\u0131n\u0131z\u0131n adres \u00e7ubu\u011funa yap\u0131\u015ft\u0131r\u0131n ve Enter tu\u015funa bas\u0131n.<\/p>\n<p>Taray\u0131c\u0131n\u0131zda JupyterLab aray\u00fcz\u00fcn\u00fc g\u00f6rmelisiniz. \u0130lk eri\u015fimde, sizden bir token veya parola isteyebilir. Terminal \u00e7\u0131kt\u0131s\u0131nda verilen <code>token=<\/code> k\u0131sm\u0131ndaki uzun karakter dizisini kopyalay\u0131p ilgili alana yap\u0131\u015ft\u0131rarak oturum a\u00e7abilirsiniz. Bu token, her oturum i\u00e7in benzersizdir ve g\u00fcvenlik amac\u0131yla kullan\u0131l\u0131r.<\/p>\n<p>JupyterLab aray\u00fcz\u00fcne ba\u015far\u0131yla eri\u015fti\u011finizde, sol tarafta bir dosya gezgini, \u00fcstte bir men\u00fc \u00e7ubu\u011fu ve ana \u00e7al\u0131\u015fma alan\u0131nda bir ba\u015flat\u0131c\u0131 (launcher) g\u00f6receksiniz. Buradan yeni Python defterleri (<code>Notebook<\/code>), terminal pencereleri (<code>Terminal<\/code>), metin dosyalar\u0131 (<code>Text File<\/code>) veya konsollar (<code>Console<\/code>) a\u00e7abilirsiniz.<\/p>\n<p>JupyterLab sunucusunu durdurmak i\u00e7in, terminal penceresine geri d\u00f6n\u00fcn ve <code>Ctrl + C<\/code> tu\u015flar\u0131na bas\u0131n. Genellikle iki kez basman\u0131z gerekebilir. Bu, sunucuyu kapatacak ve t\u00fcm \u00e7al\u0131\u015fan kernelleri sonland\u0131racakt\u0131r. Bu ad\u0131m, JupyterLab&#8217;\u0131n temel i\u015flevselli\u011fini test etmenizi ve yerel olarak nas\u0131l \u00e7al\u0131\u015ft\u0131r\u0131laca\u011f\u0131n\u0131 anlaman\u0131z\u0131 sa\u011flar.<\/p>\n<h3>Ad\u0131m 6: JupyterLab&#8217;\u0131 Uzaktan Eri\u015fime A\u00e7ma ve G\u00fcvenlik Ayarlar\u0131<\/h3>\n<p>JupyterLab&#8217;\u0131 bir sunucuya kuruyorsan\u0131z, ona uzaktan eri\u015febilmek ve bu eri\u015fimi g\u00fcvenli hale getirmek kritik \u00f6neme sahiptir. Bu ad\u0131m, \u00f6zellikle \u00e7ok kullan\u0131c\u0131l\u0131 ortamlar veya bulut sunucular\u0131 i\u00e7in \u00f6nemlidir.<\/p>\n<h4>6.1. JupyterLab Konfig\u00fcrasyon Dosyas\u0131 Olu\u015fturma<\/h4>\n<p>\u00d6ncelikle, JupyterLab&#8217;\u0131n konfig\u00fcrasyon dosyas\u0131n\u0131 olu\u015fturmal\u0131y\u0131z. Bu dosya, JupyterLab&#8217;\u0131n nas\u0131l davranaca\u011f\u0131n\u0131 kontrol eden ayarlar\u0131 i\u00e7erecektir. Sanal ortam\u0131n\u0131z etkinle\u015ftirilmi\u015fken a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">jupyter lab --generate-config<\/code><\/pre>\n<p>Bu komut, genellikle <code>~\/.jupyter\/jupyter_lab_config.py<\/code> yolunda bir konfig\u00fcrasyon dosyas\u0131 olu\u015fturur.<\/p>\n<h4>6.2. Parola Belirleme<\/h4>\n<p>JupyterLab&#8217;\u0131n\u0131za uzaktan eri\u015firken token yerine parola kullanmak daha pratik ve g\u00fcvenlidir. Parola belirlemek i\u00e7in a\u015fa\u011f\u0131daki komutu kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">jupyter lab password<\/code><\/pre>\n<p>Bu komutu \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zda, sizden yeni bir parola girmenizi ve ard\u0131ndan tekrar onaylaman\u0131z\u0131 isteyecektir. Belirledi\u011finiz parola, daha sonra <code>~\/.jupyter\/jupyter_lab_config.py<\/code> dosyas\u0131na hashlenmi\u015f bir \u015fekilde kaydedilecektir.<\/p>\n<h4>6.3. Konfig\u00fcrasyon Dosyas\u0131n\u0131 D\u00fczenleme<\/h4>\n<p>\u015eimdi, olu\u015fturdu\u011fumuz konfig\u00fcrasyon dosyas\u0131n\u0131 d\u00fczenleyerek uzaktan eri\u015fime izin verelim ve baz\u0131 g\u00fcvenlik ayarlar\u0131 yapal\u0131m. Bir metin d\u00fczenleyici kullanarak dosyay\u0131 a\u00e7\u0131n (\u00f6rne\u011fin <code>nano<\/code>):<\/p>\n<pre><code class=\"language-bash\">nano ~\/.jupyter\/jupyter_lab_config.py<\/code><\/pre>\n<p>Dosya i\u00e7inde a\u015fa\u011f\u0131daki sat\u0131rlar\u0131 bulun veya ekleyin. Sat\u0131rlar\u0131n ba\u015f\u0131ndaki <code>#<\/code> i\u015faretini kald\u0131rarak yorum sat\u0131r\u0131 olmaktan \u00e7\u0131kar\u0131n:<\/p>\n<pre><code class=\"language-python\"># T\u00fcm IP adreslerinden eri\u015fime izin ver (sunucu IP'si dahil)\nc.ServerApp.ip = '0.0.0.0'\n\n<h2>Taray\u0131c\u0131n\u0131n otomatik olarak a\u00e7\u0131lmas\u0131n\u0131 engelle (sunucularda gereksiz)<\/h2>\nc.ServerApp.open_browser = False\n\n<h2>JupyterLab'\u0131n \u00e7al\u0131\u015faca\u011f\u0131 portu belirle (varsay\u0131lan 8888)<\/h2>\nc.ServerApp.port = 8888\n\n<h2>Token kullan\u0131m\u0131n\u0131 devre d\u0131\u015f\u0131 b\u0131rak, parola ile giri\u015f yap\u0131lmas\u0131n\u0131 sa\u011fla<\/h2>\nc.ServerApp.token = ''<\/code><\/pre>\n<p><code>Ctrl + X<\/code>, <code>Y<\/code> ve Enter tu\u015flar\u0131na basarak dosyay\u0131 kaydedip kapat\u0131n.<\/p>\n<h4>6.4. G\u00fcvenlik Duvar\u0131 (UFW) Ayarlar\u0131<\/h4>\n<p>E\u011fer sunucunuzda bir g\u00fcvenlik duvar\u0131 (\u00f6rne\u011fin UFW &#8211; Uncomplicated Firewall) etkinse, JupyterLab&#8217;\u0131n kulland\u0131\u011f\u0131 portu (varsay\u0131lan 8888) a\u00e7man\u0131z gerekir.<\/p>\n<pre><code class=\"language-bash\">sudo ufw allow 8888\/tcp\nsudo ufw enable # E\u011fer UFW etkin de\u011filse bu komutla etkinle\u015ftirin\nsudo ufw status # G\u00fcvenlik duvar\u0131 durumunu kontrol edin<\/code><\/pre>\n<p>Bu komutlar, 8888 numaral\u0131 TCP portundan gelen ba\u011flant\u0131lara izin verir.<\/p>\n<h4>6.5. JupyterLab&#8217;\u0131 Bir Servis Olarak \u00c7al\u0131\u015ft\u0131rma (systemd)<\/h4>\n<p>JupyterLab&#8217;\u0131 her seferinde elle ba\u015flatmak yerine, onu bir <code>systemd<\/code> servisi olarak yap\u0131land\u0131rarak arka planda s\u00fcrekli \u00e7al\u0131\u015fmas\u0131n\u0131 ve sunucu yeniden ba\u015flat\u0131ld\u0131\u011f\u0131nda otomatik olarak ba\u015flamas\u0131n\u0131 sa\u011flayabiliriz.<\/p>\n<p>\u00d6ncelikle, sanal ortam\u0131n\u0131z\u0131n tam yolunu \u00f6\u011frenin:<\/p>\n<pre><code class=\"language-bash\">readlink -f $(which python)<\/code><\/pre>\n<p>Bu size <code>\/home\/youruser\/jupyterlab_envs\/jupyterlab_env\/bin\/python<\/code> gibi bir \u00e7\u0131kt\u0131 verecektir. Bu yolu not al\u0131n.<\/p>\n<p>\u015eimdi bir <code>systemd<\/code> servis dosyas\u0131 olu\u015ftural\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/systemd\/system\/jupyterlab.service<\/code><\/pre>\n<p>Dosyan\u0131n i\u00e7ine a\u015fa\u011f\u0131daki i\u00e7eri\u011fi yap\u0131\u015ft\u0131r\u0131n. <code>youruser<\/code> yerine kendi kullan\u0131c\u0131 ad\u0131n\u0131z\u0131, <code>\/home\/youruser\/jupyterlab_envs\/jupyterlab_env\/bin\/python<\/code> yerine az \u00f6nce not ald\u0131\u011f\u0131n\u0131z Python yolunu ve <code>\/home\/youruser\/jupyterlab_envs<\/code> yerine JupyterLab&#8217;\u0131n \u00e7al\u0131\u015fmas\u0131n\u0131 istedi\u011finiz dizini (genellikle sanal ortam\u0131n\u0131z\u0131n \u00fcst dizini) yaz\u0131n:<\/p>\n<pre><code class=\"language-ini\">[Unit]\nDescription=JupyterLab\nAfter=network.target\n\n[Service]\nUser=youruser\nEnvironment=\"PATH=\/home\/youruser\/jupyterlab_envs\/jupyterlab_env\/bin\"\nExecStart=\/home\/youruser\/jupyterlab_envs\/jupyterlab_env\/bin\/jupyter lab --config=\/home\/youruser\/.jupyter\/jupyter_lab_config.py\nWorkingDirectory=\/home\/youruser\/jupyterlab_envs\nRestart=always\n\n[Install]\nWantedBy=multi-user.target<\/code><\/pre>\n<p>Dosyay\u0131 kaydedin ve kapat\u0131n. \u015eimdi <code>systemd<\/code> servislerini yeniden y\u00fckleyin, JupyterLab servisini ba\u015flat\u0131n ve otomatik ba\u015flamas\u0131n\u0131 sa\u011flay\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl daemon-reload\nsudo systemctl start jupyterlab\nsudo systemctl enable jupyterlab\nsudo systemctl status jupyterlab<\/code><\/pre>\n<p><code>systemctl status jupyterlab<\/code> komutu, servisin ba\u015far\u0131yla \u00e7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 g\u00f6sterecektir. Art\u0131k JupyterLab, sunucunuz yeniden ba\u015flat\u0131lsa bile otomatik olarak ba\u015flayacak ve arka planda \u00e7al\u0131\u015facakt\u0131r.<\/p>\n<h4>6.6. Uzaktan Eri\u015fim<\/h4>\n<p>T\u00fcm bu ayarlar\u0131 yapt\u0131ktan sonra, web taray\u0131c\u0131n\u0131zdan sunucunuzun IP adresini ve belirledi\u011finiz portu kullanarak JupyterLab&#8217;a eri\u015febilirsiniz:<\/p>\n<p><code>http:\/\/your_server_ip:8888<\/code><\/p>\n<p>Kar\u015f\u0131n\u0131za \u00e7\u0131kan giri\u015f ekran\u0131nda, <code>jupyter lab password<\/code> komutuyla belirledi\u011finiz parolay\u0131 girerek oturum a\u00e7abilirsiniz.<\/p>\n<p><strong>\u00d6nemli Not: SSH T\u00fcnelleme ile Daha G\u00fcvenli Eri\u015fim (Opsiyonel)<\/strong><br \/>\nE\u011fer JupyterLab&#8217;\u0131 sadece belirli bir IP adresinden eri\u015filebilir k\u0131lmak ve daha g\u00fcvenli bir ba\u011flant\u0131 kurmak isterseniz, SSH t\u00fcnelleme kullanabilirsiniz. Bu y\u00f6ntem, JupyterLab&#8217;\u0131n sadece <code>localhost<\/code> \u00fczerinde \u00e7al\u0131\u015fmas\u0131na izin verirken, SSH ba\u011flant\u0131s\u0131 \u00fczerinden yerel makinenize g\u00fcvenli bir \u015fekilde port y\u00f6nlendirme yapar.<\/p>\n<p>Sunucu \u00fczerinde <code>c.ServerApp.ip = '127.0.0.1'<\/code> olarak ayarlay\u0131n ve g\u00fcvenlik duvar\u0131nda 8888 portunu a\u00e7man\u0131za gerek kalmaz. Ard\u0131ndan, yerel makinenizden a\u015fa\u011f\u0131daki SSH komutunu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">ssh -N -f -L 8888:localhost:8888 user@your_server_ip<\/code><\/pre>\n<p>Bu komut:<br \/>\n*   <code>-N<\/code>: Uzak komut \u00e7al\u0131\u015ft\u0131rmaz.<br \/>\n*   <code>-f<\/code>: SSH&#8217;\u0131 arka planda \u00e7al\u0131\u015ft\u0131r\u0131r.<br \/>\n*   <code>-L 8888:localhost:8888<\/code>: Yerel makinenizin 8888 portunu, uzak sunucudaki <code>localhost:8888<\/code>&#8216;e y\u00f6nlendirir.<br \/>\n*   <code>user@your_server_ip<\/code>: Sunucunuza ba\u011flanmak i\u00e7in kullan\u0131c\u0131 ad\u0131n\u0131z ve IP adresiniz.<\/p>\n<p>Bu t\u00fcneli kurduktan sonra, yerel taray\u0131c\u0131n\u0131zdan <code>http:\/\/localhost:8888<\/code> adresine giderek sunucunuzdaki JupyterLab&#8217;a g\u00fcvenli bir \u015fekilde eri\u015febilirsiniz.<\/p>\n<h3>Ad\u0131m 7: Ek Python Kernelleri ve Uzant\u0131lar Kurulumu<\/h3>\n<p>JupyterLab&#8217;\u0131n g\u00fcc\u00fc, yaln\u0131zca varsay\u0131lan Python kernelini kullanmakla s\u0131n\u0131rl\u0131 de\u011fildir. Farkl\u0131 Python versiyonlar\u0131n\u0131, di\u011fer programlama dillerini (R, Julia vb.) ve JupyterLab&#8217;\u0131n i\u015flevselli\u011fini art\u0131ran \u00e7e\u015fitli uzant\u0131lar\u0131 kurarak \u00e7al\u0131\u015fma ortam\u0131n\u0131z\u0131 daha da zenginle\u015ftirebilirsiniz.<\/p>\n<h4>7.1. Farkl\u0131 Python Kernelleri Kurulumu<\/h4>\n<p>Birden fazla Python projesiyle \u00e7al\u0131\u015f\u0131yorsan\u0131z, her bir projenin kendi ba\u011f\u0131ms\u0131z Python ortam\u0131na ve dolay\u0131s\u0131yla kendi Jupyter kernel&#8217;ine sahip olmas\u0131 idealdir. Bu, ba\u011f\u0131ml\u0131l\u0131k \u00e7ak\u0131\u015fmalar\u0131n\u0131 \u00f6nler.<\/p>\n<p>\u00d6ncelikle, yeni bir Python sanal ortam\u0131 olu\u015fturun ve etkinle\u015ftirin (\u00f6rne\u011fin, <code>my_other_env<\/code> ad\u0131nda):<\/p>\n<pre><code class=\"language-bash\">cd ~\/jupyterlab_envs\npython3 -m venv my_other_env\nsource my_other_env\/bin\/activate<\/code><\/pre>\n<p>Bu yeni sanal ortamda, Jupyter&#8217;\u0131n bu ortam\u0131 bir kernel olarak tan\u0131mas\u0131 i\u00e7in <code>ipykernel<\/code> paketini kurun:<\/p>\n<pre><code class=\"language-bash\">pip install ipykernel<\/code><\/pre>\n<p>\u015eimdi, bu yeni Python ortam\u0131n\u0131 Jupyter&#8217;a bir kernel olarak kaydedin:<\/p>\n<pre><code class=\"language-bash\">python -m ipykernel install --user --name my_other_env --display-name \"Python (My Other Env)\"<\/code><\/pre>\n<p>*   <code>--user<\/code>: Kernel&#8217;\u0131 sadece mevcut kullan\u0131c\u0131 i\u00e7in y\u00fckler.<br \/>\n*   <code>--name<\/code>: Kernel i\u00e7in dahili bir ad belirler (genellikle sanal ortam\u0131n ad\u0131yla ayn\u0131d\u0131r).<br \/>\n*   <code>--display-name<\/code>: JupyterLab aray\u00fcz\u00fcnde g\u00f6r\u00fclecek ad\u0131 belirler.<\/p>\n<p><code>deactivate<\/code> komutuyla bu sanal ortamdan \u00e7\u0131k\u0131n ve ana JupyterLab ortam\u0131n\u0131z\u0131 ba\u015flat\u0131n (<code>jupyter lab<\/code>). JupyterLab aray\u00fcz\u00fcnde &#8220;Launcher&#8221; sekmesinde veya &#8220;New&#8221; men\u00fcs\u00fcnde &#8220;Python (My Other Env)&#8221; ad\u0131nda yeni bir kernel se\u00e7ene\u011fi g\u00f6receksiniz. Bu sayede, farkl\u0131 sanal ortamlardaki Python versiyonlar\u0131n\u0131 ayn\u0131 JupyterLab aray\u00fcz\u00fcnde kullanabilirsiniz.<\/p>\n<h4>7.2. Di\u011fer Diller \u0130\u00e7in Kerneller (\u00d6rnek: R, Julia)<\/h4>\n<p>Jupyter, sadece Python i\u00e7in de\u011fil, R ve Julia gibi di\u011fer pop\u00fcler bilimsel hesaplama dilleri i\u00e7in de kerneller sunar.<\/p>\n<p><strong>R Dili i\u00e7in IRkernel Kurulumu:<\/strong><br \/>\n\u00d6ncelikle R&#8217;\u0131 sisteminize kurman\u0131z gerekir:<\/p>\n<pre><code class=\"language-bash\">sudo apt install r-base<\/code><\/pre>\n<p>Ard\u0131ndan, R konsolunu a\u00e7\u0131n:<\/p>\n<pre><code class=\"language-bash\">R<\/code><\/pre>\n<p>R konsolu i\u00e7inde, <code>IRkernel<\/code> paketini kurun ve Jupyter&#8217;a kaydedin:<\/p>\n<pre><code class=\"language-R\">install.packages('IRkernel')\nIRkernel::installspec()\nq() # R konsolundan \u00e7\u0131kmak i\u00e7in<\/code><\/pre>\n<p>\u015eimdi JupyterLab&#8217;\u0131 yeniden ba\u015flatt\u0131\u011f\u0131n\u0131zda, R kernelini de se\u00e7ebileceksiniz.<\/p>\n<p><strong>Julia Dili i\u00e7in IJulia Kurulumu:<\/strong><br \/>\n\u00d6ncelikle Julia&#8217;y\u0131 sisteminize kurman\u0131z gerekir. Ubuntu i\u00e7in Julia&#8217;n\u0131n resmi web sitesinden indirip uygun bir yere (<code>\/opt<\/code> gibi) \u00e7\u0131karabilir veya PPA kullanarak kurabilirsiniz. \u00d6rne\u011fin:<\/p>\n<pre><code class=\"language-bash\">sudo apt install julia<\/code><\/pre>\n<p>Ard\u0131ndan, Julia konsolunu a\u00e7\u0131n:<\/p>\n<pre><code class=\"language-bash\">julia<\/code><\/pre>\n<p>Julia konsolu i\u00e7inde, <code>IJulia<\/code> paketini kurun:<\/p>\n<pre><code class=\"language-julia\">using Pkg\nPkg.add(\"IJulia\")<\/code><\/pre>\n<p>Bu komut, <code>IJulia<\/code> paketini kuracak ve otomatik olarak Jupyter&#8217;a bir kernel olarak kaydedecektir.<br \/>\n<code>exit()<\/code> # Julia konsolundan \u00e7\u0131kmak i\u00e7in<\/p>\n<h4>7.3. JupyterLab Uzant\u0131lar\u0131 Kurulumu<\/h4>\n<p>JupyterLab uzant\u0131lar\u0131, aray\u00fcze yeni \u00f6zellikler ekleyerek veya mevcut i\u015flevselli\u011fi geli\u015ftirerek kullan\u0131c\u0131 deneyimini zenginle\u015ftirir. Uzant\u0131lar genellikle <code>pip<\/code> ile kurulur ve bazen <code>jupyter lab build<\/code> komutuyla yeniden derlenmesi gerekebilir.<\/p>\n<p>Pop\u00fcler uzant\u0131lara \u00f6rnekler:<br \/>\n*   <code>jupyterlab-git<\/code>: JupyterLab i\u00e7inde Git s\u00fcr\u00fcm kontrol\u00fcn\u00fc sa\u011flar.<br \/>\n*   <code>jupyterlab-toc<\/code>: Defterler i\u00e7in \u0130\u00e7indekiler tablosu olu\u015fturur.<br \/>\n*   <code>jupyterlab-language-pack-tr-TR<\/code>: JupyterLab aray\u00fcz\u00fcn\u00fc T\u00fcrk\u00e7e&#8217;ye \u00e7evirir.<\/p>\n<p>Bir uzant\u0131 kurmak i\u00e7in, sanal ortam\u0131n\u0131z etkinle\u015ftirilmi\u015fken a\u015fa\u011f\u0131daki komutu kullan\u0131n (\u00f6rne\u011fin <code>jupyterlab-git<\/code> i\u00e7in):<\/p>\n<pre><code class=\"language-bash\">pip install jupyterlab-git<\/code><\/pre>\n<p>Baz\u0131 uzant\u0131lar, kurulumdan sonra JupyterLab uygulamas\u0131n\u0131n yeniden derlenmesini gerektirebilir. Bu durumda a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">jupyter lab build<\/code><\/pre>\n<p>Bu i\u015flem biraz zaman alabilir. Kurulan uzant\u0131lar\u0131 listelemek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">jupyter labextension list<\/code><\/pre>\n<p>Bu ad\u0131mlar, JupyterLab ortam\u0131n\u0131z\u0131 farkl\u0131 programlama dilleri ve geli\u015fmi\u015f \u00f6zelliklerle donatarak, daha kapsaml\u0131 ve verimli bir geli\u015ftirme ortam\u0131 olu\u015fturman\u0131za olanak tan\u0131r.<\/p>\n<h3>Ad\u0131m 8: S\u0131k Kar\u015f\u0131la\u015f\u0131lan Sorunlar ve \u00c7\u00f6z\u00fcmleri<\/h3>\n<p>JupyterLab kurulumu ve kullan\u0131m\u0131 s\u0131ras\u0131nda baz\u0131 yayg\u0131n sorunlarla kar\u015f\u0131la\u015fabilirsiniz. \u0130\u015fte bu sorunlara y\u00f6nelik olas\u0131 \u00e7\u00f6z\u00fcmler:<\/p>\n<h4>8.1. Port \u00c7ak\u0131\u015fmas\u0131<\/h4>\n<p><strong>Sorun:<\/strong> JupyterLab&#8217;\u0131 ba\u015flatmaya \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131zda &#8220;Port 8888 is already in use&#8221; (8888 portu zaten kullan\u0131mda) hatas\u0131 al\u0131yorsunuz.<br \/>\n<strong>\u00c7\u00f6z\u00fcm:<\/strong> Bu, ba\u015fka bir uygulaman\u0131n (ba\u015fka bir JupyterLab \u00f6rne\u011fi veya farkl\u0131 bir servis) varsay\u0131lan 8888 portunu kulland\u0131\u011f\u0131 anlam\u0131na gelir. JupyterLab&#8217;\u0131 farkl\u0131 bir portta ba\u015flatabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">jupyter lab --port 8889<\/code><\/pre>\n<p>Bu komut JupyterLab&#8217;\u0131 8889 portunda ba\u015flat\u0131r. Ba\u015fka bir port numaras\u0131 da se\u00e7ebilirsiniz. Uzaktan eri\u015fim i\u00e7in g\u00fcvenlik duvar\u0131n\u0131z\u0131 da bu yeni port i\u00e7in ayarlamay\u0131 unutmay\u0131n.<\/p>\n<h4>8.2. Sanal Ortam Etkinle\u015ftirme Hatas\u0131<\/h4>\n<p><strong>Sorun:<\/strong> <code>pip install jupyterlab<\/code> veya <code>jupyter lab<\/code> gibi komutlar \u00e7al\u0131\u015fm\u0131yor veya &#8220;command not found&#8221; (komut bulunamad\u0131) hatas\u0131 veriyor.<br \/>\n<strong>\u00c7\u00f6z\u00fcm:<\/strong> Bu genellikle sanal ortam\u0131n\u0131z\u0131n etkinle\u015ftirilmedi\u011fi anlam\u0131na gelir. Sanal ortam\u0131 etkinle\u015ftirmek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">cd ~\/jupyterlab_envs # Sanal ortamlar\u0131n oldu\u011fu dizine gidin\nsource jupyterlab_env\/bin\/activate<\/code><\/pre>\n<p>Terminal istemcinizin ba\u015f\u0131nda <code>(jupyterlab_env)<\/code> ibaresini g\u00f6rd\u00fc\u011f\u00fcn\u00fczden emin olun.<\/p>\n<h4>8.3. Eri\u015fim Reddedildi veya \u0130zin Hatas\u0131<\/h4>\n<p><strong>Sorun:<\/strong> Dosyalar\u0131 kaydederken, bir kernel ba\u015flat\u0131rken veya belirli dizinlere eri\u015fmeye \u00e7al\u0131\u015f\u0131rken &#8220;Permission denied&#8221; (Eri\u015fim reddedildi) hatalar\u0131 al\u0131yorsunuz.<br \/>\n<strong>\u00c7\u00f6z\u00fcm:<\/strong><br \/>\n*   JupyterLab&#8217;\u0131 \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131z kullan\u0131c\u0131n\u0131n ilgili dizinlere yazma\/okuma izinleri oldu\u011fundan emin olun.<br \/>\n*   JupyterLab&#8217;\u0131 <code>sudo<\/code> ile \u00e7al\u0131\u015ft\u0131rmaktan ka\u00e7\u0131n\u0131n, bu g\u00fcvenlik riski olu\u015fturur ve genellikle gerekli de\u011fildir. E\u011fer <code>sudo<\/code> ile kurduysan\u0131z, sahiplik sorunlar\u0131 ya\u015fayabilirsiniz. <code>chown<\/code> komutuyla dosya sahipli\u011fini d\u00fczeltin:<\/p>\n<pre><code class=\"language-bash\">sudo chown -R youruser:youruser \/home\/youruser\/jupyterlab_envs\n    sudo chown -R youruser:youruser ~\/.jupyter<\/code><\/pre>\n<p>    <code>youruser<\/code> yerine kendi kullan\u0131c\u0131 ad\u0131n\u0131z\u0131 yaz\u0131n.<\/p>\n<h4>8.4. JupyterLab Ba\u015flam\u0131yor veya Aniden Kapan\u0131yor<\/h4>\n<p><strong>Sorun:<\/strong> <code>jupyter lab<\/code> komutunu \u00e7al\u0131\u015ft\u0131rd\u0131ktan sonra taray\u0131c\u0131 a\u00e7\u0131lm\u0131yor veya JupyterLab hemen kapan\u0131yor.<br \/>\n<strong>\u00c7\u00f6z\u00fcm:<\/strong><br \/>\n*   Terminal \u00e7\u0131kt\u0131s\u0131n\u0131 dikkatlice inceleyin. Hata mesajlar\u0131 genellikle sorunun k\u00f6kenini g\u00f6sterir.<br \/>\n*   E\u011fer bir <code>systemd<\/code> servisi olarak \u00e7al\u0131\u015ft\u0131r\u0131yorsan\u0131z, loglar\u0131 kontrol edin:<\/p>\n<pre><code class=\"language-bash\">sudo journalctl -u jupyterlab.service -f<\/code><\/pre>\n<p>    Bu komut, servisin loglar\u0131n\u0131 ger\u00e7ek zamanl\u0131 olarak g\u00f6sterir ve hata ay\u0131klamada yard\u0131mc\u0131 olur.<br \/>\n*   Bellek (RAM) veya CPU yetersizli\u011fi de JupyterLab&#8217;\u0131n \u00e7\u00f6kmesine neden olabilir, \u00f6zellikle b\u00fcy\u00fck defterler veya \u00e7ok say\u0131da kernel \u00e7al\u0131\u015ft\u0131r\u0131ld\u0131\u011f\u0131nda.<\/p>\n<h4>8.5. Taray\u0131c\u0131dan Eri\u015filemiyor (Uzaktan Eri\u015fim)<\/h4>\n<p><strong>Sorun:<\/strong> Sunucunuzun IP adresi ve portu ile taray\u0131c\u0131dan JupyterLab&#8217;a eri\u015fmeye \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131zda ba\u011flant\u0131 zaman a\u015f\u0131m\u0131na u\u011fruyor veya sayfa g\u00f6r\u00fcnt\u00fclenemiyor.<br \/>\n<strong>\u00c7\u00f6z\u00fcm:<\/strong><br \/>\n*   <strong>G\u00fcvenlik Duvar\u0131:<\/strong> <code>sudo ufw status<\/code> komutuyla g\u00fcvenlik duvar\u0131n\u0131z\u0131n JupyterLab&#8217;\u0131n kulland\u0131\u011f\u0131 portu (varsay\u0131lan 8888) engellemedi\u011finden emin olun. Gerekirse <code>sudo ufw allow 8888\/tcp<\/code> komutuyla portu a\u00e7\u0131n.<br \/>\n*   <strong>IP Ayar\u0131:<\/strong> <code>~\/.jupyter\/jupyter_lab_config.py<\/code> dosyas\u0131ndaki <code>c.ServerApp.ip = '0.0.0.0'<\/code> ayar\u0131n\u0131n do\u011fru yap\u0131ld\u0131\u011f\u0131ndan emin olun. E\u011fer <code>127.0.0.1<\/code> olarak ayarl\u0131ysa, sadece sunucunun kendisinden eri\u015filebilir demektir.<br \/>\n*   <strong>Port Numaras\u0131:<\/strong> Taray\u0131c\u0131n\u0131zda do\u011fru port numaras\u0131n\u0131 kulland\u0131\u011f\u0131n\u0131zdan emin olun.<br \/>\n*   <strong>JupyterLab \u00c7al\u0131\u015f\u0131yor mu?:<\/strong> <code>systemctl status jupyterlab<\/code> (e\u011fer servis olarak \u00e7al\u0131\u015f\u0131yorsa) veya <code>ps aux | grep jupyter<\/code> komutlar\u0131yla JupyterLab s\u00fcrecinin ger\u00e7ekten \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 do\u011frulay\u0131n.<br \/>\n*   <strong>A\u011f Yap\u0131land\u0131rmas\u0131:<\/strong> Sunucunuzun a\u011f yap\u0131land\u0131rmas\u0131 (\u00f6rne\u011fin, bulut sa\u011flay\u0131c\u0131n\u0131z\u0131n g\u00fcvenlik gruplar\u0131) gelen ba\u011flant\u0131lar\u0131 engelliyor olabilir. Bulut sa\u011flay\u0131c\u0131n\u0131z\u0131n kontrol panelinden gerekli portlar\u0131n a\u00e7\u0131k oldu\u011fundan emin olun.<\/p>\n<p>Bu sorun giderme ad\u0131mlar\u0131, JupyterLab kurulumu ve kullan\u0131m\u0131 s\u0131ras\u0131nda kar\u015f\u0131la\u015fabilece\u011finiz \u00e7o\u011fu yayg\u0131n sorunu \u00e7\u00f6zmenize yard\u0131mc\u0131 olacakt\u0131r. Her zaman terminal \u00e7\u0131kt\u0131s\u0131n\u0131 dikkatlice okumak ve hata mesajlar\u0131n\u0131 anlamaya \u00e7al\u0131\u015fmak, sorunun kayna\u011f\u0131n\u0131 bulman\u0131n ilk ad\u0131m\u0131d\u0131r.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Bu kapsaml\u0131 rehberde, Ubuntu 18.04 i\u015fletim sistemi \u00fczerinde JupyterLab ortam\u0131n\u0131 ad\u0131m ad\u0131m nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 ve yap\u0131land\u0131raca\u011f\u0131n\u0131z\u0131 detayl\u0131 bir \u015fekilde inceledik. Ba\u015flang\u0131\u00e7ta sistem g\u00fcncellemelerinden Python 3 ve <code>pip<\/code> kurulumuna kadar temel haz\u0131rl\u0131k ad\u0131mlar\u0131n\u0131 tamamlad\u0131k. Ard\u0131ndan, projeler aras\u0131 ba\u011f\u0131ml\u0131l\u0131k \u00e7ak\u0131\u015fmalar\u0131n\u0131 \u00f6nlemek i\u00e7in sanal ortamlar\u0131n kritik \u00f6nemini vurgulayarak bir sanal ortam olu\u015fturduk ve JupyterLab&#8217;\u0131 bu izole ortamda kurduk.<\/p>\n<p>JupyterLab&#8217;\u0131 yerel olarak \u00e7al\u0131\u015ft\u0131rma ve web taray\u0131c\u0131n\u0131zdan eri\u015fim sa\u011flama ad\u0131mlar\u0131n\u0131n yan\u0131 s\u0131ra, \u00f6zellikle sunucu ortamlar\u0131 i\u00e7in hayati \u00f6neme sahip olan uzaktan eri\u015fim ve g\u00fcvenlik ayarlar\u0131n\u0131 da ele ald\u0131k. Parola belirleme, konfig\u00fcrasyon dosyas\u0131 d\u00fczenleme, g\u00fcvenlik duvar\u0131 ayarlar\u0131 ve JupyterLab&#8217;\u0131 <code>systemd<\/code> servisi olarak arka planda \u00e7al\u0131\u015ft\u0131rma gibi geli\u015fmi\u015f konulara de\u011findik. Ayr\u0131ca, farkl\u0131 Python kernelleri, R ve Julia gibi di\u011fer programlama dilleri i\u00e7in kernellerin nas\u0131l kurulaca\u011f\u0131n\u0131 ve JupyterLab uzant\u0131lar\u0131yla ortam\u0131n\u0131z\u0131 nas\u0131l geni\u015fletebilece\u011finizi g\u00f6sterdik. Son olarak, kurulum ve kullan\u0131m s\u0131ras\u0131nda s\u0131k\u00e7a kar\u015f\u0131la\u015f\u0131lan sorunlara y\u00f6nelik pratik \u00e7\u00f6z\u00fcmler sunarak olas\u0131 engelleri a\u015fman\u0131za yard\u0131mc\u0131 olduk.<\/p>\n<p>JupyterLab, veri bilimi, makine \u00f6\u011frenimi, bilimsel hesaplama ve interaktif geli\u015ftirme alanlar\u0131nda \u00e7al\u0131\u015fan profesyoneller i\u00e7in vazge\u00e7ilmez bir ara\u00e7t\u0131r. Bu rehberdeki ad\u0131mlar\u0131 takip ederek, kendi ihtiya\u00e7lar\u0131n\u0131za g\u00f6re \u00f6zelle\u015ftirilmi\u015f, g\u00fcvenli ve esnek bir JupyterLab ortam\u0131na sahip olacaks\u0131n\u0131z. Bu platformun sundu\u011fu \u00e7ok y\u00f6nl\u00fcl\u00fck ve g\u00fc\u00e7l\u00fc \u00f6zellikler sayesinde, veri analizi ve modelleme s\u00fcre\u00e7lerinizi daha verimli ve keyifli hale getirebilirsiniz. Kurulumunuz tamamland\u0131ktan sonra, JupyterLab&#8217;\u0131n zengin \u00f6zelliklerini ke\u015ffetmeye ba\u015flayabilir, yeni defterler olu\u015fturabilir, verilerinizi analiz edebilir ve projelerinizi daha ileriye ta\u015f\u0131yabilirsiniz. Unutmay\u0131n, pratik yapmak ve farkl\u0131 uzant\u0131larla denemeler yapmak, JupyterLab&#8217;\u0131n t\u00fcm potansiyelini ke\u015ffetmenize yard\u0131mc\u0131 olacakt\u0131r.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Ubuntu 18.04 \u00dczerine JupyterLab Ortam\u0131 Kurulumu: Kapsaml\u0131 Bir Rehber\nGiri\u015f: JupyterLab Nedir ve Neden Kullanmal\u0131s\u0131n\u0131z?\nJupyterLab, Jupyter pro","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1468],"tags":[],"class_list":{"0":"post-31021","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-ubuntu","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Ubuntu 18.04 \u00dczerine JupyterLab Ortam\u0131 Kurulumu: Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerine-jupyterlab-ortami-kurulumu-kapsamli-bir-rehber\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ubuntu 18.04 \u00dczerine JupyterLab Ortam\u0131 Kurulumu: Kapsaml\u0131 Bir Rehber\" \/>\n<meta property=\"og:description\" content=\"Ubuntu 18.04 \u00dczerine JupyterLab Ortam\u0131 Kurulumu: Kapsaml\u0131 Bir Rehber Giri\u015f: JupyterLab Nedir ve Neden Kullanmal\u0131s\u0131n\u0131z? JupyterLab, Jupyter pro\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerine-jupyterlab-ortami-kurulumu-kapsamli-bir-rehber\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-04T17:41:27+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"23 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerine-jupyterlab-ortami-kurulumu-kapsamli-bir-rehber\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerine-jupyterlab-ortami-kurulumu-kapsamli-bir-rehber\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Ubuntu 18.04 \u00dczerine JupyterLab Ortam\u0131 Kurulumu: Kapsaml\u0131 Bir Rehber\",\"datePublished\":\"2025-10-04T17:41:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerine-jupyterlab-ortami-kurulumu-kapsamli-bir-rehber\/\"},\"wordCount\":3966,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Ubuntu\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerine-jupyterlab-ortami-kurulumu-kapsamli-bir-rehber\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerine-jupyterlab-ortami-kurulumu-kapsamli-bir-rehber\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerine-jupyterlab-ortami-kurulumu-kapsamli-bir-rehber\/\",\"name\":\"Ubuntu 18.04 \u00dczerine JupyterLab Ortam\u0131 Kurulumu: Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-10-04T17:41:27+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerine-jupyterlab-ortami-kurulumu-kapsamli-bir-rehber\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerine-jupyterlab-ortami-kurulumu-kapsamli-bir-rehber\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerine-jupyterlab-ortami-kurulumu-kapsamli-bir-rehber\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ubuntu 18.04 \u00dczerine JupyterLab Ortam\u0131 Kurulumu: Kapsaml\u0131 Bir Rehber\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Ubuntu 18.04 \u00dczerine JupyterLab Ortam\u0131 Kurulumu: Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerine-jupyterlab-ortami-kurulumu-kapsamli-bir-rehber\/","og_locale":"tr_TR","og_type":"article","og_title":"Ubuntu 18.04 \u00dczerine JupyterLab Ortam\u0131 Kurulumu: Kapsaml\u0131 Bir Rehber","og_description":"Ubuntu 18.04 \u00dczerine JupyterLab Ortam\u0131 Kurulumu: Kapsaml\u0131 Bir Rehber Giri\u015f: JupyterLab Nedir ve Neden Kullanmal\u0131s\u0131n\u0131z? JupyterLab, Jupyter pro","og_url":"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerine-jupyterlab-ortami-kurulumu-kapsamli-bir-rehber\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-10-04T17:41:27+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"23 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerine-jupyterlab-ortami-kurulumu-kapsamli-bir-rehber\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerine-jupyterlab-ortami-kurulumu-kapsamli-bir-rehber\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Ubuntu 18.04 \u00dczerine JupyterLab Ortam\u0131 Kurulumu: Kapsaml\u0131 Bir Rehber","datePublished":"2025-10-04T17:41:27+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerine-jupyterlab-ortami-kurulumu-kapsamli-bir-rehber\/"},"wordCount":3966,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Ubuntu"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerine-jupyterlab-ortami-kurulumu-kapsamli-bir-rehber\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerine-jupyterlab-ortami-kurulumu-kapsamli-bir-rehber\/","url":"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerine-jupyterlab-ortami-kurulumu-kapsamli-bir-rehber\/","name":"Ubuntu 18.04 \u00dczerine JupyterLab Ortam\u0131 Kurulumu: Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-10-04T17:41:27+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerine-jupyterlab-ortami-kurulumu-kapsamli-bir-rehber\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerine-jupyterlab-ortami-kurulumu-kapsamli-bir-rehber\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerine-jupyterlab-ortami-kurulumu-kapsamli-bir-rehber\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Ubuntu 18.04 \u00dczerine JupyterLab Ortam\u0131 Kurulumu: Kapsaml\u0131 Bir Rehber"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/31021","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=31021"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/31021\/revisions"}],"predecessor-version":[{"id":31022,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/31021\/revisions\/31022"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=31021"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=31021"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=31021"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}