ژوپیتر نوتبوک (Jupyter Notebook) یکی از محبوبترین ابزارهای متنباز برای نوشتن و اجرای کد، نمایش دادهها، طراحی نمودار و مصورسازی داده است. یکی از ویژگیهای برجسته ژوپیتر قابلیت گسترش و شخصیسازی آن از طریق افزونهها (Extensions) است که تجربه کار با این ابزار را به شکل قابلتوجهی بهبود میبخشند. در این مطلب شما را با بهترین افزونه های ژوپیتر نوت بوک و نحوه نصب و استفاده از آنها آشنا میکنیم.
چرا از افزونههای ژوپیتر نوتبوک استفاده کنیم؟
ژوپیتر نوتبوک بهطور پیشفرض ابزار قدرتمندی است اما افزونهها به شما کمک میکنند تا آن را دقیقاً مطابق نیازهای خود تنظیم کنید. اگر می خواهید با ژوپیتر نوت بوک بیشتر آشنا شوید پیشنهاد میکنم مقاله “ژوپیتر نوت بوک چیست” از وبلاگ اهورا را بخوانید:
ژوپیتر نوتبوک یک برنامه تحت وب متنباز است که به شما اجازه میدهد کدها، تصاویر، نمودارهای پویا و انواع دیگر محتوا را در یک محیط تعاملی ترکیب کنید. به زبان سادهتر ژوپیتر نوتبوک یک دفترچه یادداشت دیجیتال پیشرفته است که ویژه برنامهنویسان، دانشمندان داده و محققان علوم داده طراحی شده است.
برخی از دلایل استفاده از افزونه های ژوپیتر نوت بوک عبارتند از:
1. بهرهوری بیشتر: پلاگینها با خودکارسازی وظایف تکراری و وقتگیر به افزایش بهرهوری شما کمک میکنند. برای مثال افزونه Table of Contents به شما کمک میکند تا در نوتبوکهای طولانی به سرعت بخش مورد نظر را پیدا کنید.
2. شخصیسازی محیط کار: با افزونهها میتوانید محیط کار را مطابق با ترجیحات و نیازهای خود سفارشیسازی کنید. مثلا با پلاگین ipywidgets میتوانید ابزارهای کنترلی تعاملی (مانند اسلایدر، دکمه و منو) به نوتبوک اضافه کنید.
3. قابلیتهای جدید: افزونهها قابلیتهای جدیدی مانند ویرایشگر پیشرفته کد، ابزارهای تجسم دادهها و امکانات تعاملی را به ژوپیتر نوتبوک اضافه میکنند.
4. اتصال به سرورهای خارجی: این ویژگی به شما اجازه میدهد تا بهطور مستقیم به دادهها، APIها یا پایگاههای داده خارجی دسترسی داشته و آنها را در محیط ژوپیتر تجزیه و تحلیل کنید.
انواع افزونههای ژوپیتر نوتبوک
پلاگینها یا افزونه های ژوپیتر نوت بوک به سه دسته اصلی تقسیم میشوند: افزونههای نوتبوک، سرور و ترکیبی. در ادامه هر دسته را با جزئیات توضیح میدهیم.
افزونههای نوتبوک
این دسته از افزونهها معمولا با جاوا اسکریپت و CSS طراحی شده و برای شخصیسازی و ارتقای رابط کاربری ژوپیتر نوتبوک بکار میروند. از این پلاگینها میتوان برای افزودن دکمه، منو، میانبر صفحه کلید یا عناصر بصری جدید به نوار ابزار یا منوهای سلول استفاده کرد. برخی از افزونههای محبوب در این دسته شامل موارد زیر هستند:
1. Table of Contents: با این افزونه میتوانید فهرستی از عناوین موجود در نوتبوک خود ایجاد کنید.
2. Collapsible Headings: این افزونه به شما امکان میدهد سرصفحهها و بخشهای مختلف نوتبوک را جمع یا باز کنید.
3. Variable Inspector: متغیرهایی که در کد تعریف کردهاید را نمایش داده و مدیریت میکند.
4. Nbextensions Configurator: یک رابط کاربری گرافیکی برای مدیریت و تنظیم سایر افزونهها.
این افزونهها برای کسانی که به دنبال بهبود رابط کاربری و افزایش عملکرد هستند، بسیار مفیدند.
بیشتر بخوانید: گوگل کولب چیست؟ بررسی کاربردها، مزایا و معایب
افزونههای سرور
این پلاگینها ماژولهای پایتون هستند که روی سرور ژوپیتر نوتبوک اجرا شده و قابلیتهای جدیدی را به آن اضافه میکنند، از جمله:
- ایجاد API جدید: افزودن رابطهای برنامهنویسی برای تعامل با دادهها یا پردازشهای خاص.
- مکانیزم احراز هویت: افزودن قابلیتهای امنیتی مانند لاگین و مدیریت کاربران.
- ابزارهای پردازش داده: افزودن قابلیتهای پردازش و تحلیل داده در سرور.
JupyterHub یکی از افزونههای سرور محبوب است که امکان استفاده چند کاربره را فراهم میکند. این افزونهها معمولا با استفاده از CLI (رابط خط فرمان) نصب، فعال یا غیرفعال میشوند.
افزونههای ترکیبی
این با ترکیب مزایای هر دو نوع افزونه، تجربه کاری یکپارچهتری را برای کاربران فراهم کرده و به افزایش بهرهوری کمک میکنند. برای مثال Jupyter Widgets افزونه ترکیبی محبوبی است که ویجتهای تعاملی را در محیط نوت بوک ایجاد میکند.
کد این افزونهها از دو قسمت تشکیل شده: بخش جاوا اسکریپت سمت کلاینت که رابط کاربری نوت بوک را تغییر میدهد و بخش پایتون که سرور نوت بوک را بهینهسازی میکند.
افزونههای ترکیبی از طریق ابزارهای مدیریت بسته pip یا conda نصب شده و با استفاده از دستورهای jupyter serverextension و nbextension فعال یا غیرفعال میشوند.
روش نصب افزونه در ژوپیتر نوت بوک
استفاده از افزونه های ژوپیتر نوت بوک بسیار آسان است و میتوان آنها را در چند مرحله ساده نصب و فعال کرد اگر به دنبال آموزش نصب ژوپیتر نوت بوک پیشنهاد میکنم قبل از ادامه کار مقاله آموزش گام به گام نصب ژوپیتر نوت بوک را بخوانید.
در ادامه این مراحل را به صورت گامبهگام توضیح میدهیم:
نصب مدیر افزونههای ژوپیتر نوت بوک
برای شروع باید ابزار مدیریت افزونه های ژوپیتر نوت بوک را نصب کنید. این ابزار به شما اجازه میدهد تا افزونههای مختلف را مدیریت و فعال کنید. برای نصب دستور زیر را در ترمینال اجرا کنید:
pip install jupyter_contrib_nbextensions && jupyter contrib nbextension install
این دستور ابتدا پکیج مربوط به افزونه های ژوپیتر را نصب کرده و سپس آنها را به نوت بوک اضافه میکند. پس از راهاندازی برنامه باید تب مربوط به NBextensions به نوت بوک شما اضافه شده باشد.
فعالسازی افزونههای مورد نیاز
پس از مدیر افزونه نوبت به نصب افزونههای دلخواه میرسد. برای این کار از Nbextensions Configurator استفاده کنید که یک رابط کاربری گرافیکی عالی برای مدیریت افزونهها دارد.
برای دسترسی به این ابزار کافی است یک نوت بوک را در برنامه ژوپیتر باز کرده و به تب Nbextensions بروید. در این قسمت تعداد زیادی پلاگینهای کاربردی مشاهده میکنید و برای فعالسازی هر کدام کافی است تیک مربوط را بزنید.
این رابط کاربری ساده و کاربرپسند به شما اجازه میدهد بدون نیاز به دستورات پیچیده، افزونههای مختلف را به سرعت مدیریت کنید. پس از فعالسازی افزونهها میتوانید با قابلیتهای جدیدی که به نوت بوک اضافه شده، کارها سریعتر و سادهتر پیش ببرید.
بهترین افزونه ها برای ژوپیتر نوت بوک
پس از این توضیحات حالا نوبت به معرفی محبوبترین و بهترین افزونه ها برای ژوپیتر نوت بوک میرسد.
1. افزونه Hinterland
این پلاگین بسیار کاربردی قابلیت تکمیل خودکار کد را به نوتبوک اضافه میکند. Hinterland مشابه آنچه در محیطهای توسعه یکپارچه (IDE) مانند Visual Studio Code یا PyCharm وجود دارد، عمل میکند.
با کمک Hinterland کاربران میتوانند سرعت کدنویسی خود را افزایش داده و اشتباهات تایپی را کاهش دهند. همچنین این افزونه از کتابخانههای معروفی مثل NumPy، pandas و Matplotlib پشتیبانی کرده و پیشنهادات دقیقی برای توابع و متغیرها ارائه میدهد.
2. افزونه Variable Inspector
مدیریت متغیرها یکی از چالشهای بزرگ در ژوپیتر نوتبوک است، به خصوص زمانی که با حجم بالایی از دادهها کار میکنید. Variable Inspector برای حل این مشکل یک پنجره کوچک به محیط نوتبوک اضافه میکند که در آن میتوانید لیستی از تمام متغیرهای تعریفشده و مقادیر فعلی آنها را مشاهده کنید.
3. افزونه Collapsible Headings
با این پلاگین میتوانید عناوین و بخشهای مختلف نوتبوک را به صورت تودرتو و قابل جمعشدن (Collapsible) نمایش دهید. وقتی تعداد زیادی سلول در نوتبوک دارید، پیدا کردن بخشهای مورد نظر و مدیریت کدها میتواند چالشبرانگیز باشد. این افزونه کمک میکند تا با جمعکردن بخشهایی که به آنها نیازی ندارید، فضای بیشتری برای تمرکز روی قسمتهای مهمتر داشته باشید.
4. پلاگین Autopep8
رعایت استانداردهای کدنویسی شما را بسیار حرفهایتر نشان میدهد. در زبان پایتون PEP8 به عنوان یک راهنمای استاندارد برای نوشتن کدهای خوانا و تمیز شناخته میشود.
افزونه Autopep8 به طور خودکار کدهای شما را بر اساس این استاندارد قالببندی میکند. این کار باعث میشود کدتان خواناتر باشد و از مشکلات احتمالی عدم رعایت استانداردها جلوگیری شود. فقط کافی است یک دکمه را فشار دهید تا کدتان به استاندارد PEP8 تبدیل شود.
5. افزونه GIT
پلاگین GIT امکان کار با مخازن Git را از داخل ژوپیتر نوت بوک فراهم میکند. با این افزونه میتوانید تغییرات کدهای خود را دنبال کنید، commit و push انجام دهید و حتی branchهای مختلف را مدیریت کنید.
این ابزار برای پروژههای تیمی بسیار مفید است و شما را قادر میسازد تا بدون ترک محیط نوتبوک، کدها را در مخازن Git به اشتراک بگذارید و نسخههای مختلف آن را مدیریت کنید.
6. افزونه Table of Contents
وقتی با نوتبوکهای پر از کد، توضیحات و نمودارها کار میکنید، وجود یک فهرست از بخشهای مختلف به شما کمک میکند تا سریعتر به بخش مورد نظر دسترسی پیدا کنید.
پلاگین Table of Contents به طور خودکار از عناوین بکار رفته در سلولهای Markdown یک فهرست تولید میکند تا از طریق آن به راحتی به بخشهای مختلف نوتبوک دسترسی داشته باشید. در تنظیمات آن میتوانید سطح عناوین و مکان قرارگیری فهرست را تعیین کنید.
7. پلاگین Plotly
افزونه Plotly یکی از بهترین ابزارها برای رسم نمودارهای تعاملی در ژوپیتر نوت بوک است. با این افزونه کاربردی نمودارهای پیچیده و گرافیکهای تعاملی ایجاد کنید که قابلیت زوم، جابجایی و مشاهده دقیقتر دادهها را به کاربر میدهد. Plotly یک کتابخانه بسیار قدرتمند برای تجسم دادهها است و با این افزونه از تمامی امکانات آن به راحتی در ژوپیتر نوتبوک بهرهمند میشوید.
8. افزونه Debugger
پیدا کردن مشکلات در کدها کاری بسیار زمانبر و خستهکننده است و نیاز به دقت فراوان دارد. افزونه Debugger همانطور که از نامش مشخص است، این کار را برای شما بسیار ساده میکند. کافی است آن را فعال کنید تا باگهای کد خود را به سرعت پیدا و رفع کنید. این افزونه برای اشکالزدایی کدها در پروژههای پیچیده بسیار ضروری است.
9. افزونه ExecuteTime
زمانی که با کدهای طولانی و محاسبات سنگین کار میکنید، دانستن زمان اجرای هر بخش از کد به شما کمک میکند تا بسیار سریعتر عملکرد کلی برنامه را بهینه کنید. این افزونه زمان شروع و پایان اجرای هر سلول را در کنار آن نمایش میدهد تا به راحتی بخشهای کند را در کدها تشخیص داده و بهبود ببخشید.
جمعبندی
افزونه های ژوپیتر نوت بوک نهتنها تجربه کاربری را بهبود میدهند، بلکه به شما کمک میکنند تا کارهای پیچیده را سادهتر، سریعتر و مؤثرتر انجام دهید. پلاگینهایی که در این مطلب معرفی کردیم به شما کمک میکنند کدها را بهتر سازماندهی کنید، خطاها را سریعتر پیدا کرده و سرعت کار را بالاتر ببرید. این افزونهها در زمینههای مختلف از جمله تحلیل داده، کدنویسی، بصریسازی و اتصال به منابع خارجی کاربرد داشته و ژوپیتر نوتبوک را به ابزاری حرفهایتر تبدیل کنند. اهورا کولب به عنوان یک سرویس ابری مبتنی بر Jupyter میتواند در همین راستا معرفی شود.
برای ارتقای تجربه کار با Jupyter Notebook و اجرای سریعتر پردازشهای سنگین، اهورا کولب به عنوان یک سرویس ابری ژوپیتر یک انتخاب قدرتمند است. این سرویس با دسترسی به GPU و، فضای ایدهآلی برای توسعهدهندگان و محققان فراهم میکند.
سوالات متداولی که شما میپرسید؟
1. چطور افزونه های ژوپیتر نوت بوک نصبشده را فعال یا غیرفعال کنم؟
پس از نصب افزونهها میتوانید از طریق منوی Nbextensions در نوار ابزار افزونههای مورد نظر را فعال یا غیرفعال کنید.
2. آیا افزونهها ژوپیتر نوتبوک را کند میکنند؟
به طور کلی خیر اما نصب تعداد زیادی پلاگین یا افزونههای سنگین ممکن است کمی تاثیر داشته باشد.
3. آیا افزونه های ژوپیتر نوت بوک محدود به پایتون هستند؟
بسیاری از افزونهها با زبانهای دیگر نیز سازگار هستند اما برخی موارد به طور خاص برای زبان پایتون طراحی شدهاند.
4. آیا افزونه های ژوپیتر نوت بوک با JupyterLab سازگارند؟
برخی از افزونههای ژوپیتر نوتبوک با JupyterLab هم سازگار هستند اما JupyterLab افزونههای مخصوص به خود را دارد.
5. آیا افزونه های ژوپیتر نوت بوک رایگان هستند؟
بله، اکثر افزونههای ژوپیتر نوتبوک به صورت رایگان و متنباز ارائه میشوند.
6. آیا افزونهها میتوانند به امنیت نوتبوک آسیب برسانند؟
اگر افزونه از منبع نامعتبر نصب شود، ممکن است خطر امنیتی داشته باشد. بنابراین حتما از منابع معتبر استفاده کنید.
7. چرا افزونهای که نصب کردهام در ژوپیتر نوتبوک نیست؟
مطمئن شوید که آخرین نسخه ژوپیتر نوتبوک و افزونهها را نصب کردهاید. همچنین میتوانید افزونه را غیرفعال کرده و دوباره فعال کنید.
منبع: