मुख्य सामग्री पर जाएँ

JupyterLab ट्यूटोरियल: शुरुआत कैसे करें

इस लेख में, हम आपको JupyterLab से परिचित कराएँगे, जो डेटा साइंस के लिए सबसे लोकप्रिय IDE में से एक है।
· 7 मि॰ पढ़ें

AI के साथ खोजें

A jupyter lab

प्रोग्रामिंग भाषाओं के बिना सॉफ्टवेयर डेवलपमेंट को समझना असंभव है। सच है, बिना प्रोग्रामिंग भाषा के सॉफ्टवेयर डेवलपर वैसा ही है जैसे बिना कार के टैक्सी ड्राइवर। फिर भी, तस्वीर इससे ज्‍यादा जटिल है। जैसे GPS टैक्सी ड्राइवरों का काम आसान बनाता है, वैसे ही Integrated Development Environments (जिन्हें IDE भी कहा जाता है) प्रोग्रामर्स की मदद करते हैं। 

IDEs इस तरह डिज़ाइन किए जाते हैं कि प्रोग्रामर्स अधिक कुशलता से कोड लिख सकें और सॉफ्टवेयर एप्लिकेशन्स विकसित कर सकें। IDEs कई यूटिलिटीज़ को एक ही इंटरफ़ेस में समेट कर उत्पादकता बढ़ाते हैं। कोड लिखना, टेस्ट करना और डिबग करना, साथ ही एडिटिंग सुविधाएँ जैसे सिंटैक्स हाईलाइटिंग, ब्रैकेट-मैचिंग, और कोड ऑटो-कम्प्लीशन, आधुनिक IDEs की सबसे आम विशेषताओं में शामिल हैं। 

डेटा साइंस के लिए कई IDEs विशेष रूप से उपयुक्त हैं, जिनमें DataCamp का DataLab भी शामिल है। इस लेख में, हम आपको JupyterLab से परिचित कराएँगे, जो Jupyter Notebook की अगली पीढ़ी है और शायद डेटा साइंस के लिए सबसे लोकप्रिय IDE है। 2018 में जारी JupyterLab, क्लासिक Jupyter Notebook की तुलना में लचीला यूज़र इंटरफ़ेस और अधिक फीचर्स प्रदान करता है, और यह निस्संदेह Project Jupyter का वर्तमान और भविष्य है। क्या आप JupyterLab के साथ शुरुआत करना चाहते हैं? पढ़ते रहें!

Jupyter Notebook का संक्षिप्त परिचय

जब 2014 में Jupyter Notebook पहली बार लॉन्च हुआ, तो उसने IDE परिदृश्य में तेज़ी से बदलाव ला दिया। हाल ही में सबसे महत्वपूर्ण कंप्यूटिंग प्रोजेक्ट्स में से एक माना गया, जिसने वैज्ञानिक प्रकाशन की प्रक्रिया को हमेशा के लिए बदल दिया, Jupyter डेटा साइंस में वास्तविक मानक बन गया है।

Jupyter Notebook एक सर्वर-क्लाइंट एप्लिकेशन की तरह काम करता है, जिससे कोडर्स वेब ब्राउज़र के ज़रिये नोटबुक्स को एडिट और रन कर सकते हैं। एप्लिकेशन इंटरनेट के बिना कंप्यूटर पर चलाया जा सकता है, या किसी रिमोट सर्वर पर इंस्टॉल किया जा सकता है, जहाँ आप इंटरनेट के माध्यम से इसे एक्सेस कर सकते हैं।

शुरुआत में Julia, Python और R –जो कि डेटा साइंस के सबसे लोकप्रिय प्रोग्रामिंग भाषाएँ हैं– के लिए डिज़ाइन किया गया था, आज Jupyter 40 से अधिक प्रोग्रामिंग भाषाओं का समर्थन करता है। 

Jupyter दो मुख्य घटकों से मिलकर बना है।

  • कर्नेल. यह एक प्रोग्राम है जो उपयोगकर्ता के कोड को चलाता और उसका निरीक्षण करता है। डिफ़ॉल्ट रूप से, Jupyter में Python कोड के लिए एक कर्नेल होता है, लेकिन अन्य प्रोग्रामिंग भाषाओं के लिए भी कर्नेल उपलब्ध हैं।
  • डैशबोर्ड. एक नोटबुक मुख्यतः कोशिकाओं (सेल्स) के क्रम से बनी होती है, जिनमें कोड, टेक्स्ट, विज़ुअलाइज़ेशन, इमेजेज और फ़ॉर्मूलाज़ जैसे तत्व हो सकते हैं। सेल्स के अलावा, डैशबोर्ड में नोटबुक वर्कफ़्लो को कॉन्फ़िगर करने, कोड डिबग करने, अलग-अलग फ़ॉर्मैट में नोटबुक्स एक्सपोर्ट करने, डॉक्युमेंट्स ब्राउज़ करने, और बहुत कुछ के लिए विभिन्न टूल्स शामिल होते हैं। 

Jupyter notebook स्क्रीनशॉट

Jupyter Notebook के उन्नत संस्करण के रूप में, JupyterLab नए फीचर्स और क्षमताएँ जोड़ता है, हालाँकि मुख्य घटक जस के तस रहते हैं।

JupyterLab के साथ शुरुआत

JupyterLab का उपयोग करने के लिए, सबसे पहले आपको इसे अन्य किसी प्रोग्राम की तरह अपने कंप्यूटर पर इंस्टॉल करना होगा। यह आपके पसंद के अनुसार अलग-अलग तरीकों से किया जा सकता है: pip, Anaconda, या Docker का उपयोग करके।

pip के साथ JupyterLab इंस्टॉल करना

Pip, Python का मानक पैकेज मैनेजर है। pip के साथ JupyterLab इंस्टॉल करने के लिए, आपको कमांड लाइन पर बस यह चलाना है:

>>pip install jupyterlab

इस निर्देश को चलाने के बाद, pip JupyterLab पैकेज और JupyterLab के काम करने के लिए आवश्यक सभी निर्भरताएँ इंस्टॉल कर देगा। यदि आप Python में पैकेज मैनेजमेंट के बारे में अधिक जानना चाहते हैं, तो हमारा Pip Python Tutorial for Package Management देखें।

एक बार जब आपने अपने कंप्यूटर पर सफलतापूर्वक JupyterLab इंस्टॉल कर लिया, तो JupyterLab खोलने के लिए बस निम्नलिखित स्टेटमेंट चलाएँ:

>>jupyter lab

इसके बाद, आपका पसंदीदा वेब ब्राउज़र निम्न पते पर एप्लिकेशन खोलेगा: http://localhost:8888/lab 

JupyterLab स्क्रीनशॉट

Anaconda के साथ JupyterLab इंस्टॉल करना

Anaconda एक पैकेज मैनेजर, एक एन्वायरनमेंट मैनेजर, और एक Python डिस्ट्रीब्यूशन है जिसमें कई ओपन-सोर्स पैकेजों का संग्रह शामिल होता है। यदि आप डेटा साइंस में शुरुआत करना चाहते हैं, तो Anaconda एक बेहतरीन विकल्प है। आपको अब यह सोचने की ज़रूरत नहीं कि Python या JupyterLab कैसे इंस्टॉल करें, क्योंकि आधुनिक Anaconda डिस्ट्रीब्यूशन्स में ये अपने-आप इंस्टॉल हो जाते हैं।

JupyterLab लॉन्च करने का सबसे आसान तरीका है Anaconda Navigator के ज़रिये, एक ऐसा एप्लिकेशन जो आपको बिना कोड लिखे, उपयोगकर्ता-अनुकूल तरीके से Anaconda की सुविधाओं का उपयोग करने देता है। जैसा कि आप नीचे की तस्वीर में देख सकते हैं, Jupyter Notebook और JupyterLab दोनों पहले से इंस्टॉल हैं। आपको बस Launch बटन पर क्लिक करना है, और आपके वेब ब्राउज़र में JupyterLab खुल जाएगा। 

Anaconda नेविगेटर स्क्रीनशॉट

हालाँकि, कुछ स्थितियों में –जैसे जब आप नया conda एन्वायरनमेंट बनाते हैं–, आपको उस एन्वायरनमेंट में JupyterLab इंस्टॉल करने की आवश्यकता हो सकती है। ऐसा करने का सबसे तेज़ तरीका है conda कमांड लाइन (Windows पर Anaconda Prompt और macOS तथा Linux पर टर्मिनल) में निम्नलिखित चलाना:

>>conda install -c conda-forge jupyterlab

Docker के साथ JupyterLab इंस्टॉल करना

Docker कंटेनर्स में सॉफ़्टवेयर चलाने के लिए एक ओपन प्लेटफॉर्म है। ये कंटेनर स्वायत्त और पृथक प्रक्रियाएँ होती हैं, जो आपकी एप्लीकेशन्स को आपके इंफ्रास्ट्रक्चर से अलग करने देती हैं ताकि आप सॉफ़्टवेयर जल्दी डिलीवर कर सकें। 

यदि आपके पास Docker इंस्टॉल है, तो आप Docker इमेजेज़ में से किसी एक को चुनकर, जिन्हें Jupyter Docker Stacks द्वारा समर्थित किया जाता है, JupyterLab इंस्टॉल और उपयोग कर सकते हैं। आप इन इमेजेज़ को सॉफ़्टवेयर के प्री-पैकेज्ड बंडल की तरह समझ सकते हैं जिन्हें रन करने पर Docker से अपने-आप डाउनलोड किया जा सकता है।

उदाहरण के लिए, यदि आप Docker की इमेज jupyter/datascience-notebook इंस्टॉल करना चाहते हैं, जिसमें Julia, Python और R से डेटा विश्लेषण के लिए लाइब्रेरीज़ शामिल हैं, तो आपको Docker कमांड पर बस यह चलाना है:

>>docker run -it -p 10000:8888 -e JUPYTER_ENABLE_LAB=yes jupyter/scipy-notebook

Docker पर JupyterLab का उपयोग कैसे करें, इस पर अधिक विवरण और उदाहरणों के लिए डॉक्युमेंटेशन देखें। साथ ही, Docker का विस्तृत परिचय पाने के लिए हम यह DataCamp ट्यूटोरियल अत्यंत अनुशंसा करते हैं।

JupyterLab इंटरफ़ेस

JupyterLab इंटरफ़ेस, Jupyter Notebook इंटरफ़ेस का रीमास्टर्ड संस्करण है, जो इंटरैक्टिव और कुशल कंप्यूटिंग के लिए नए, मॉड्युलर बिल्डिंग ब्लॉक्स का सेट प्रदान करता है। JupyterLab कई कोडिंग टूल्स को एक ही इंटरफ़ेस में एकीकृत करता है, जिससे कोडिंग अनुभव पारंपरिक IDEs जैसा महसूस होता है। 

JupyterLab इंटरफ़ेस स्क्रीनशॉट

JupyterLab इंटरफ़ेस के मुख्य तत्व निम्नलिखित हैं: 

  • वर्क एरिया. मुख्य वर्क एरिया एक नए टैब-आधारित लेआउट के साथ आता है जो आपको अलग-अलग दस्तावेज़ों (नोटबुक्स, डेटा फ़ाइलें, HTML, PDFs, इमेजेज़, आदि) और कोडिंग टूल्स (टर्मिनल, कोड कंसोल्स, टेक्स्ट एडिटर, आदि) को टैब्स के पैनल्स में जोड़ने देता है जिन्हें ड्रैग-एंड-ड्रॉप से रीसाइज़ या उप-विभाजित किया जा सकता है। जुपाइटर नोटबुक में अनुपस्थित यह टैब-आधारित सिस्टम अधिक एकीकृत और कुशल प्रोग्रामिंग को संभव बनाता है, क्योंकि डेवलपर्स अधिकांश काम JupyterLab छोड़े बिना कर पाते हैं। 
  • बाएँ साइडबार. यह संक्षिप्त (collapsible) साइडबार कई प्रचलित टैब्स शामिल करता है, जिनमें:
    • फ़ाइल ब्राउज़र. यह आपको अपने कंप्यूटर पर फ़ाइलें और फ़ोल्डर्स मैनेज करने देता है।
    • टैब और कर्नेल मैनेजर. यह मुख्य वर्क एरिया में मौजूद टैब्स और चल रहे कर्नेल्स व टर्मिनल्स की सूची देता है।
    • सामग्री-सूची (Table of contents). मार्कडाउन सेल्स में शामिल हेडिंग्स पर आधारित एक इंटरैक्टिव इंडेक्स।
    • एक्सटेंशन मैनेजर. यह आपको नई एप्लिकेशन्स और प्लगइन्स इंस्टॉल करने देता है ताकि आपका JupyterLab अनुभव बेहतर हो (नीचे देखें)। 
  • दाएँ साइडबार. दूसरा संक्षिप्त साइडबार जिसमें शामिल हैं:
    • प्रॉपर्टी इंस्पेक्टर. यह आपको सेल्स की जानकारी और गुणों का बारीकी से निरीक्षण करने देता है। 
    • डीबगर (नीचे देखें)
  • मेनू बार. JupyterLab के शीर्ष पर मौजूद मेनू बार में JupyterLab में उपलब्ध कार्रवाइयों के टॉप-लेवल मेनू शामिल होते हैं। अलग-अलग मेनू हैं: 
    • File: फ़ाइलों और डायरेक्टरीज़ से जुड़ी कार्रवाइयाँ।
    • Edit: दस्तावेज़ों के संपादन और अन्य गतिविधियों से जुड़ी कार्रवाइयाँ।
    • View: JupyterLab की उपस्थिति बदलने वाली कार्रवाइयाँ।
    • Run: विभिन्न गतिविधियों में कोड चलाने की कार्रवाइयाँ।
    • Kernel: कर्नेल्स को प्रबंधित करने की कार्रवाइयाँ।
    • Tabs: वर्क एरिया में खुले दस्तावेज़ों और गतिविधियों की सूची।
    • Settings: सामान्य सेटिंग्स और एक उन्नत सेटिंग्स एडिटर। JupyterLab की सबसे अच्छी विशेषताओं में से एक है इंटरफ़ेस के लिए अलग-अलग थीम्स चुनने की सुविधा, जिनमें डार्क मोड भी शामिल है।
    • Help: JupyterLab और कर्नेल से जुड़ी सहायता लिंक की सूची।

JupyterLab में डिबगिंग

डिबगिंग का उद्देश्य टेस्टिंग के दौरान आपके प्रोग्राम में मिले बग्स के कारणों की पहचान करना है, ताकि आप अपने कोड को समायोजित कर सही और अपेक्षित परिणाम प्राप्त कर सकें। 

डेटा प्रोफेशनल्स, और व्यापक रूप से, सॉफ्टवेयर डेवलपर्स, डिबगिंग प्रक्रिया में प्रोग्राम के वेरिएबल्स के बीच की अंतःक्रियाओं और उनमें होने वाले बदलावों की निगरानी करते हैं। आप देख कर कि अलग-अलग फ़ंक्शन्स, मेथड्स, या यहाँ तक कि कोड की एक-एक लाइन वेरिएबल्स के मान और फ़ंक्शनैलिटी को कैसे बदलती है, अपने प्रोग्राम में त्रुटियों के संभावित कारणों की जाँच कर सकते हैं।

Jupyter Notebook और JupyterLab के शुरुआती संस्करणों में डिबगिंग कार्यों के लिए %debug नामक बिल्ट-इन मैजिक कमांड शामिल था। हालाँकि, यह टूल अन्य IDEs के डिबगर्स की तुलना में काफी प्रारंभिक है। 

खुशकिस्मती से, JupyterLab के नवीनतम संस्करणों में डिफ़ॉल्ट रूप से एक डिबगर फ्रंट-एंड शामिल है। इसमें पारंपरिक डिबगिंग क्षमताएँ होती हैं, जैसे ब्रेकपॉइंट सेट करना, फ़ंक्शन्स में स्टेप करना, और वेरिएबल्स का निरीक्षण करना। आप इसे दाएँ साइडबार से सक्रिय कर सकते हैं, जैसा कि नीचे की तस्वीर में दिखाया गया है: 

JupyterLab डिबगिंग इंटरफ़ेस

JupyterLab एक्सटेंशन्स

JupyterLab पहले से ही एक शक्तिशाली और सुसज्जित टूल है, जिसमें ऐसे नए फीचर्स हैं जो आपके कोडिंग अनुभव को अधिक IDE-जैसा बना देंगे। फिर भी, यदि आपको लगता है कि कुछ सुविधाएँ कमी हैं या आप JupyterLab की क्षमताओं को और बढ़ाना चाहते हैं, तो आपको Jupyter एक्सटेंशन्स देखनी चाहिए।

JavaScript में लिखे गए, JupyterLab एक्सटेंशन्स ऐसे सॉफ़्टवेयर अंश हैं जिनमें एक या अधिक प्लगइन्स होते हैं, जो JupyterLab में नई क्षमताएँ जोड़ते हैं, जैसे नई थीम्स, फ़ाइल एडिटर, और नए कमांड शॉर्टकट्स। 

JupyterLab एक्सटेंशन्स दो प्रकार के होते हैं: 

  • प्रीबिल्ट एक्सटेंशन. इन्हें JupyterLab को रिबिल्ड करने की आवश्यकता नहीं होती।
  • स्रोत (सोर्स) एक्सटेंशन. इन्हें इंस्टॉल करने पर JupyterLab को रिबिल्ड करना पड़ता है। JupyterLab को रिबिल्ड करने के लिए Node.js –जो JavaScript एप्लिकेशन्स चलाने के लिए एक ओपन-सोर्स, क्रॉस-प्लैटफ़ॉर्म एन्वायरनमेंट है– इंस्टॉल होना चाहिए। 

यदि आप conda के साथ conda-forge पैकेज उपयोग करते हैं, तो आप Node.js इस तरह प्राप्त कर सकते हैं:

>>conda install -c conda-forge nodejs

JupyterLab एक्सटेंशन्स को प्रबंधित करने के कई तरीके हैं, लेकिन हम अत्यधिक अनुशंसा करते हैं कि आप बिल्ट-इन Extension Manager का उपयोग करें। बाएँ साइडबार पर पज़ल आइकन के माध्यम से पहुँचा जा सकने वाला Extension Manager आपको बिना कोड लिखे एक्सटेंशन्स इंस्टॉल और निष्क्रिय करने देता है।

JupyterLab एक्सटेंशन दृश्य

JupyterLab एक्सटेंशन्स और उन्हें कैसे मैनेज करें, इस बारे में अधिक जानकारी के लिए JupyterLab का डॉक्युमेंटेशन देखें।

JupyterLab बनाम Jupyter Notebook

​​नीचे आप Jupyter Notebook और JupyterLab के बीच अंतरों की एक तालिका पा सकते हैं:

 

Jupyter Notebook

JupyterLab

रिलीज़ तिथि

2014

2018

ओपन सोर्स?

Yes

Yes

टैब सिस्टम

एकल टैब

एकाधिक, मॉड्युलर टैब्स, सब कुछ एक ही व्यू में 

डिबगिंग क्षमताएँ

%debug मैजिक कमांड

डीबगर

डेटा फ़ाइल व्यूअर

डेटा फ़ाइलें टेक्स्ट फ़ाइलों के रूप में दिखती हैं

डेटा को टेबल फ़ॉर्मैट में देखा जा सकता है

कोडिंग अनुभव 

स्टैंडअलोन टूल जैसा महसूस होता है

IDE जैसा महसूस होता है

डिफ़ॉल्ट थीम्स

White

Light और Dark

फायदे

  • सीधापन (सिंप्लिसिटी)
  • सीखने की तीखी वक्र (Steep learning curve)
  • मॉड्युलर और कस्टमाइज़ेबल टैब्स दक्षता और लचीलापन प्रदान करते हैं।
  • उत्पादकता बढ़ाने वाले टूल्स और फीचर्स प्रदान करता है।

नुकसान

  • नोटबुक्स और दस्तावेज़ों के बीच स्विच करना थकाऊ हो सकता है।
  • सीमित टूल्स और फीचर्स।
  • कई फीचर्स के कारण ओवर-इंजीनियर्ड महसूस हो सकता है।
  • उथली सीखने की वक्र (Shallow learning curve)

भविष्य के विकास

एक विरासत (legacy) पुराना संस्करण बना रहता है

Project Jupyter का भविष्य

DataLab

यदि आप एक ऑनलाइन, क्लाउड-आधारित IDE की तलाश में हैं जो आपको सहयोगात्मक रूप से कोड लिखने और डेटा का विश्लेषण करने तथा अपने इनसाइट्स साझा करने की अनुमति देता है, तो DataLab एक बेहतरीन विकल्प है। 

DataCamp द्वारा बनाया गया, DataLab एक क्लाउड-आधारित डेटा विश्लेषण प्लेटफ़ॉर्म है, जिसे आपको जल्दी और आसानी से शुरुआत करने में मदद करने के लिए डिज़ाइन किया गया है। DataLab के साथ, आप समय लेने वाली सेटअप प्रक्रिया को छोड़ सकते हैं और तुरंत डेटा के साथ काम शुरू कर सकते हैं। कुछ इंस्टॉल करने की ज़रूरत नहीं, क्योंकि सब कुछ ब्राउज़र के ज़रिये सुलभ है। 

DataLab का उपयोग करते समय, आपको बिल्ट-इन डेटासेट्स मिलेंगे जिन्हें आप तुरंत उपयोग कर सकते हैं, साथ ही प्री-बिल्ट टेम्पलेट्स जिनमें पहले से लिखा हुआ कोड होता है। DataLab सभी कौशल स्तरों के लिए सुलभ है, जिसमें लो-कोड और नो-कोड टूल्स उपलब्ध हैं ताकि आप शानदार रिपोर्ट्स और विज़ुअलाइज़ेशन्स बना सकें। 

यह Python और R दोनों को सपोर्ट करता है, दोनों में नेटिव SQL इंटीग्रेशन्स हैं, और यह दुनिया के सबसे लोकप्रिय डेटा साइंस पैकेजों के साथ प्री-कॉन्फ़िगर्ड और प्री-इंस्टॉल आता है। 

इस ट्यूटोरियल का कोड ऑनलाइन चलाएं और संपादित करें

कोड चलाएं

निष्कर्ष

आप अंत तक पहुँच गए। बधाई! हमें आशा है कि आपने JupyterLab पर यह ट्यूटोरियल पसंद किया होगा। अपनी सेल-आधारित संरचना के कारण, जो इंटरैक्टिव, खोजपरक कंप्यूटिंग पर केंद्रित है, Jupyter तेज़ी से एक क्रांतिकारी टूल बन गया, डेटा प्रोफेशनल्स का पसंदीदा IDE। Jupyter Notebook की तुलना में, JupyterLab अधिक परिष्कृत टूल है, जो नोटबुक्स और पारंपरिक IDEs, जैसे RStudio और PyCharm, की खूबियों को साथ लाता है। 

तो, यदि आप डेटा साइंस में नए हैं और सोच रहे हैं कि Jupyter Notebook चुनें या JupyterLab, तो हम दृढ़ता से बाद वाले की सिफारिश करते हैं। Jupyter के बारे में और जानना चाहते हैं? निम्नलिखित DataCamp सामग्री देखें:

JupyterLab ट्यूटोरियल FAQs

  • IDE क्या है?
    IDEs ऐसे प्रोग्राम हैं जिन्हें प्रोग्रामर्स को कोड लिखने और सॉफ्टवेयर एप्लिकेशन्स को अधिक कुशलता से विकसित करने में सक्षम बनाने के लिए डिज़ाइन किया गया है। IDEs कई यूटिलिटीज़ को एक इंटरफ़ेस में समेटकर प्रोग्रामर की उत्पादकता बढ़ाते हैं।
  • JupyterLab क्या है?
    JupyterLab, नोटबुक्स, कोड और डेटा के लिए Jupyter का नवीनतम वेब-आधारित IDE है।
  • नोटबुक क्या है?
    नोटबुक एक दस्तावेज़ है जो सेल-आधारित संरचना का पालन करते हुए कोड, समीकरण, विज़ुअलाइज़ेशन, और टेक्स्ट जैसे तत्वों को समेटता है।
  • क्या मैं JupyterLab में Python का उपयोग कर सकता/सकती हूँ?
    हाँ, साथ ही डेटा साइंस की अन्य प्रोग्रामिंग भाषाएँ, जैसे R, और Julia
  • JupyterLab Extension Manager क्या है?
    यह आपको JupyterLab अनुभव बेहतर करने के लिए नई एप्लिकेशन्स और प्लगइन्स इंस्टॉल करने देता है
  • मुझे Jupyter Notebook चुनना चाहिए या JupyterLab?
    क्योंकि JupyterLab, Jupyter Project का वर्तमान और भविष्य है, हम दृढ़ता से JupyterLab चुनने की सिफारिश करते हैं।

विषय