معرفی

Jupyter Notebook یک پوسته فرمان برای محاسبات تعاملی به عنوان یک برنامه وب ارائه می دهد. این ابزار را می توان با چندین زبان از جمله Python، Julia، R، Haskell و Ruby استفاده کرد. اغلب برای کار با داده ها، مدل سازی آماری و یادگیری ماشین استفاده می شود.

این آموزش شما را در راه اندازی نوت بوک Jupyter برای اجرا به صورت محلی یا از سرور اوبونتو 20.04 راهنمایی می کند و همچنین نحوه اتصال و استفاده از نوت بوک را به شما آموزش می دهد. نوت‌بوک‌های Jupyter (یا به سادگی نوت‌بوک‌ها) اسنادی هستند که توسط برنامه نوت‌بوک Jupyter تولید می‌شوند که حاوی کدهای کامپیوتری و عناصر متن غنی (پاراگراف، معادلات، شکل‌ها، پیوندها و غیره) هستند که به ارائه و به اشتراک‌گذاری تحقیقات قابل تکرار کمک می‌کنند.

در پایان این راهنما، می‌توانید کد پایتون 3 را با استفاده از نوت‌بوک Jupyter که روی یک ماشین محلی یا سرور راه دور اجرا می‌شود، اجرا کنید.

پیش نیازها

برای دنبال کردن این آموزش، به یک محیط برنامه نویسی پایتون 3 نیز نیاز دارید

  • در دستگاه محلی شما، یا
  • روی سرور اوبونتو

تمام دستورات این آموزش باید به صورت یک کاربر غیر روت اجرا شوند. اگر دسترسی root برای دستور مورد نیاز باشد، قبل از دستور sudo قرار می گیرد. راه اندازی اولیه سرور با اوبونتو 20.04 نحوه اضافه کردن کاربران و دادن دسترسی sudo را توضیح می دهد.

مرحله 1 – نصب نوت بوک Jupyter

در این قسمت نوت بوک Jupyter را با pip نصب می کنیم.

محیط برنامه نویسی Python 3 را که می خواهید Jupyter Notebook را در آن نصب کنید، فعال کنید. در مثال خود، آن را در my_env نصب می‌کنیم، بنابراین مطمئن می‌شویم که در دایرکتوری آن محیط هستیم و آن را به این صورت فعال می‌کنیم:

cd ~/environments
. my_env/bin/activate

در مرحله بعد، می توانیم اطمینان حاصل کنیم که پیپ به آخرین نسخه ارتقا یافته است:

pip install –upgrade pip

حالا می توانیم Jupyter Notebook را با دستور زیر نصب کنیم:

pip install jupyter

در این مرحله Jupyter Notebook در محیط برنامه نویسی فعلی نصب می شود.

مرحله اختیاری بعدی برای کسانی است که نصب سرور رابط وب را با استفاده از تونل SSH متصل می کنند.

مرحله 2 (اختیاری) – استفاده از SSH Tunneling برای اتصال به نصب سرور

اگر نوت بوک Jupyter را روی سرور نصب کرده اید، در این بخش نحوه اتصال به رابط وب Jupyter Notebook با استفاده از تونل SSH را یاد می گیریم. از آنجایی که Jupyter Notebook بر روی یک پورت خاص روی سرور اجرا می شود (مانند :8888، :8889 و غیره)، تونل SSH شما را قادر می سازد تا به طور ایمن به پورت سرور متصل شوید.

توجه داشته باشید که این دستورالعمل‌ها طوری طراحی شده‌اند که از یک پنجره ترمینال محلی اجرا شوند، یعنی نه از پنجره‌ای که با آن به سرور متصل شده‌اید.

SSH Tunneling

اگر از ویندوز استفاده می کنید، باید نسخه ای از OpenSSH را نصب کنید تا بتوانید از ترمینال ssh کنید. اگر ترجیح می دهید در PowerShell کار کنید، می توانید اسناد مایکروسافت را برای اضافه کردن OpenSSH به PowerShell دنبال کنید. اگر ترجیح می‌دهید یک محیط لینوکس کامل در دسترس داشته باشید، می‌توانید WSL، زیرسیستم ویندوز برای لینوکس را راه‌اندازی کنید، که به طور پیش‌فرض شامل ssh می‌شود. در نهایت، به عنوان گزینه سوم سبک، می‌توانید Git را برای ویندوز نصب کنید، که یک محیط ترمینال bash ویندوز که شامل دستور ssh می‌شود را فراهم می‌کند. هر کدام از این ها به خوبی پشتیبانی می شوند و هر کدام را که تصمیم به استفاده از آن داشته باشید به اولویت شما بستگی دارد.

اگر از مک یا لینوکس استفاده می کنید، از قبل دستور ssh را در ترمینال خود خواهید داشت.

مراحل ایجاد یک SSH tunneling شبیه نحوه اتصال به قطرات با راهنمای SSH است با این تفاوت که پارامترهای اضافی در دستور ssh اضافه شده است. این زیربخش پارامترهای اضافی مورد نیاز در دستور ssh برای تونل موفقیت آمیز را تشریح می کند.

SSH tunneling را می توان با اجرای دستور SSH زیر در یک پنجره ترمینال محلی جدید انجام داد:

ssh -L 8888:localhost:8888 your_server_username@your_server_ip

دستور ssh یک اتصال SSH را باز می کند، اما -L مشخص می کند که پورت داده شده در میزبان محلی (کلینت) باید به هاست و پورت در سمت راه دور (سرور) ارسال شود. این بدان معناست که هر چیزی که روی شماره پورت دوم (به عنوان مثال 8888) در سرور اجرا می شود، در اولین شماره پورت (مثلاً 8888) در رایانه محلی شما ظاهر می شود.

اگر پیامی دریافت کردید که پورت 8888 در دسترس نیست، می توانید آن را به شماره پورت دلخواه دیگری زیر 65535 تغییر دهید. پورت 8888 معنای مهمی ندارد اما اغلب برای دموهایی مانند این استفاده می شود.

server_username نام کاربری شما (به عنوان مثال sammy) در سروری است که ایجاد کرده اید و your_server_ip آدرس IP سرور شما است.

به عنوان مثال، برای نام کاربری sammy و آدرس سرور 203.0.113.0، دستور به صورت زیر خواهد بود:

ssh -L 8888:localhost:8888 sammy@203.0.113.0

اگر پس از اجرای دستور ssh -L خطایی نشان داده نشد، می توانید به محیط برنامه نویسی خود بروید و Jupyter Notebook را اجرا کنید:

jupyter notebook

خروجی را با URL دریافت خواهید کرد. از یک مرورگر وب در دستگاه محلی خود، رابط وب Jupyter Notebook را با URL که با http://localhost:8888 شروع می شود، باز کنید. اطمینان حاصل کنید که شماره رمز گنجانده شده است یا در صورت درخواست در http://localhost:8888 رشته شماره رمز را وارد کنید.

مرحله 3 – اجرای نوت بوک Jupyter

با نصب نوت بوک Jupyter، می توانید آن را در ترمینال خود اجرا کنید. برای این کار دستور زیر را اجرا کنید:

jupyter notebook

گزارشی از فعالیت های نوت بوک Jupyter در ترمینال چاپ می شود. هنگامی که Jupyter Notebook را اجرا می کنید، روی یک شماره پورت خاص اجرا می شود. اولین نوت‌بوکی که اجرا می‌کنید معمولاً روی پورت 8888 اجرا می‌شود. برای بررسی شماره پورت خاصی که Jupyter Notebook روی آن اجرا می‌شود، به خروجی دستور استفاده شده برای شروع آن مراجعه کنید:

Output
[I NotebookApp] Serving notebooks from local directory: /home/sammy
[I NotebookApp] 0 active kernels 
[I NotebookApp] The Jupyter Notebook is running at: http://localhost:8888/
[I NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
...

اگر Jupyter Notebook را روی یک رایانه محلی (نه روی سرور) اجرا می کنید، مرورگر پیش فرض شما باید برنامه وب Jupyter Notebook را باز کرده باشد. اگر نه، یا اگر پنجره را ببندید، می توانید به URL ارائه شده در خروجی بروید یا برای اتصال به localhost:8888 بروید.

هر زمان که می‌خواهید فرآیند Jupyter Notebook را متوقف کنید، Ctrl+C را فشار دهید، زمانی که از شما خواسته شد Y را تایپ کنید و سپس Enter را برای تأیید فشار دهید.

خروجی زیر را دریافت خواهید کرد:

Output
[C 12:32:23.792 NotebookApp] Shutdown confirmed
[I 12:32:23.794 NotebookApp] Shutting down kernels

Jupyter Notebook اکنون دیگر کار نمی کند.

مرحله 4 – استفاده از نوت بوک Jupyter

این بخش به اصول استفاده از نوت بوک Jupyter می پردازد. اگر در حال حاضر Jupyter Notebook را در حال اجرا ندارید، آن را با دستور jupyter notebook شروع کنید.

اکنون باید با استفاده از یک مرورگر وب به آن متصل شوید. نوت بوک Jupyter بسیار قدرتمند است و ویژگی های زیادی دارد. در این بخش چند مورد از ویژگی‌های اساسی برای شروع استفاده از نوت‌بوک توضیح داده می‌شود. Jupyter Notebook همه فایل‌ها و پوشه‌ها را در فهرستی که از آن اجرا می‌شود نشان می‌دهد، بنابراین وقتی روی پروژه کار می‌کنید، مطمئن شوید که آن را از فهرست پروژه شروع کنید.

برای ایجاد یک فایل نوت بوک جدید، New > Python 3 را از منوی کشویی بالا سمت راست انتخاب کنید:

با این کار یک نوت بوک باز می شود. اکنون می‌توانیم کد پایتون را در سلول اجرا کنیم یا سلول را به markdown تغییر دهیم. برای مثال، با کلیک روی Cell > Cell Type > Markdown از نوار پیمایش بالا، اولین سلول را برای پذیرش Markdown تغییر دهید. اکنون می‌توانیم یادداشت‌هایی را با استفاده از Markdown بنویسیم و حتی معادلات نوشته‌شده در LaTeX را با قرار دادن آنها بین نمادهای $$ اضافه کنیم. به عنوان مثال، پس از تغییر سلول به علامت گذاری، عبارت زیر را در سلول تایپ کنید:

# Simple Equation

Let us now implement the following equation:
$$ y = x^2$$

where $x = 2$

برای تبدیل علامت گذاری به متن غنی، Ctrl+Enter را فشار دهید و نتایج زیر باید باشد:

می توانید از سلول های علامت گذاری برای یادداشت برداری و مستندسازی کد خود استفاده کنید. بیایید آن معادله ساده را پیاده سازی کنیم و نتیجه را چاپ کنیم. روی سلول بالا کلیک کنید، سپس Alt+Enter را فشار دهید تا یک سلول زیر آن اضافه شود. کد زیر را در سلول جدید وارد کنید.

x = 2
y = x**2
print(y)

برای اجرای کد، Ctrl+Enter را فشار دهید. نتایج زیر را دریافت خواهید کرد:

اکنون می توانید ماژول ها را وارد کنید و از نوت بوک مانند سایر محیط های توسعه پایتون استفاده کنید!

برای خاموش کردن نوت بوک Jupyter سمت سرور، به پنجره ترمینال که آن را از آنجا شروع کرده اید بازگردید و Ctrl+C را فشار دهید. این یک میانبر استاندارد برای پایان دادن به فرآیندهای ترمینال است و Jupyter از شما می خواهد قبل از خروج ذخیره کنید.

نتیجه

تبریک می گویم! اکنون باید بتوانید کدها و یادداشت های قابل تکرار پایتون را با استفاده از Jupyter Notebook در Markdown بنویسید. برای دریافت یک تور سریع از Jupyter Notebook از داخل رابط، Help > User Interface Tour را از منوی پیمایش بالا انتخاب کنید تا بیشتر بدانید.


سرور مجازی آلمان

سرور مجازی آمریکا

سرور مجازی فرانسه

سرور مجازی کانادا

سرور مجازی لهستان

سرور مجازی هلند

سرور مجازی انگلیس

 

برچسب‌ها:, , , , , , , ,