Jupyter Notebook یک برنامه وب منبع باز است که به شما امکان می دهد کد تعاملی ، تجسم سازی ها و سایر موارد را ایجاد و به اشتراک بگذارید. از این ابزار می توان همراه با چندین زبان برنامه نویسی از جمله Python ، Julia ، R ، Haskell و Ruby استفاده کرد. این اغلب برای کار با داده ها ، مدل سازی آماری و یادگیری ماشین مورد استفاده قرار می گیرد.
این آموزش شما را با راه اندازی Jupyter notebook برای اجرا از یک سرور مجازی Ubuntu 18.04 و همچنین نحوه اتصال و استفاده از notebook از یک دستگاه محلی از طریق تونل زنی را نشان می دهد.
Jupyter notebooks (یا فقط ” notebooks “) اسنادی هستند که توسط برنامه Jupyter notebook تهیه شده اند و شامل کد رایانه و عناصر متن غنی (پاراگراف ، معادلات ، ارقام ، لینک ها و …) هستند که به ارائه و به اشتراک گذاری تحقیقات قابل چاپ کمک می کنند.
با پایان این راهنما ، قادر خواهید بود با استفاده از Jupyter notebook که روی یک سرور مجازی از راه دور اجرا می شود ، کد Python 3 را اجرا کنید.
پیش نیازها
برای تکمیل این راهنما ، باید یک نمونه سرور مجازی جدید اوبونتو 18.04 با یک فایروال اساسی و یک کاربر غیر ریشه با امتیازات sudo پیکربندی شده داشته باشید. می توانید یاد بگیرید که چگونه این برنامه را با اجرای آموزش اولیه راه اندازی سرور مجازی ما تنظیم کنید.
مرحله 1 – تنظیم پایتون
برای شروع فرآیند ، متعلقات مورد نیاز محیط برنامه نویسی پایتون را از مخازن اوبونتو نصب خواهیم کرد. اوبونتو 18.04 با پایتون 3.6 از پیش نصب شده است. ما بعداً از pip مدیر بسته Python برای نصب قسمت های اضافی استفاده خواهیم کرد.
ابتدا باید شاخص بسته محلی apt را به روز کنیم و سپس بسته ها را دانلود و نصب کنیم:
⦁ $ sudo apt update

در مرحله بعد ، فایلهای هدر و پایتون را که توسط برخی از متعلقات Jupyter استفاده می شود ، نصب کنید:
⦁ $ sudo apt install python3-pip python3-dev

اکنون می توانیم به تنظیم محیط مجازی Python بپردازیم که در آن Jupyter را نصب خواهیم کرد.
مرحله 2 – یک محیط مجازی Python را برای Jupyter ایجاد کنید
اکنون که پایتون 3 را داریم ، فایل های هدر آن و pip آماده هستند ، می توانیم یک محیط مجازی پایتون ایجاد کنیم تا پروژه های خود را مدیریت کنیم. ما Jupyter را در این محیط مجازی نصب خواهیم کرد.
برای این کار ابتدا به دستور virtualenv نیاز داریم که می توانیم با pip نصب کنیم.
pip را به روز کنید و بسته را با تایپ کردن دستور زیر نصب کنید:
⦁ $ sudo -H pip3 install –upgrade pip

⦁ $ sudo -H pip3 install virtualenv

پرچم -H تضمین می کند که رویکرد امنیتی ، محیط هوم را روی دیرکتوری هوم کاربر هدف تنظیم می کند.
با نصب virtualenv ، می توانیم محیط خود را شکل دهیم. یک دایرکتوری ایجاد کنید که در آن بتوانیم فایل های پروژه خود را نگه داریم. این را my_project_dir می نامیم ، اما شما باید از اسمی استفاده کنید که برایتان معنی دار باشد و روی آن کار می کنید.
در داخل دیرکتوری پروژه ، یک محیط مجازی پایتون ایجاد خواهیم کرد. به منظور استفاده از این آموزش ، آن را my_project_env خواهیم نامید اما شما باید آن را به گونه ای نامگذاری کنید که مربوط به پروژه شما باشد.
⦁ $ mkdir ~/my_project_dir

⦁ $ cd ~/my_project_dir

با این کار دایرکتوری به نام my_project_env در دایرکتوری my_project_dir شما ایجاد می شود. در داخل ، یک نسخه محلی Python و یک نسخه محلی از pip را نصب می کند. ما می توانیم از این روش برای نصب و پیکربندی یک محیط جدا شده Python برای Jupyter استفاده کنیم.
قبل از نصب Jupyter ، باید محیط مجازی را فعال کنیم. می توانید این کار را با تایپ کردن دستور زیر انجام دهید:
⦁ $ source my_project_env/bin/activate

اعلان شما باید تغییر کند تا نشان دهد که اکنون در یک محیط مجازی پایتون فعالیت می کنید. خط فرمان شما اکنون چیزی شبیه به این را خواهد بود: (my_project_env)user@host:~/my_project_dir$
در این مرحله ، شما آماده نصب Jupyter در این محیط مجازی هستید.
مرحله 3 – نصب Jupyter
با فعال بودن محیط مجازی ، Jupyter را با نمونه محلی pip نصب کنید.
توجه: هنگامی که محیط مجازی فعال می شود (هنگامی که اعلان شما پیش از خودmy_project_env را دارد ، به جای pip3 از pip استفاده کنید ، حتی اگر از پایتون 3 استفاده می کنید. کپی محیط مجازی ابزار همیشه بدون در نظر گرفتن نسخه پایتون ، pip نامگذاری میشود.
⦁ $ pip install jupyter

در این مرحله ، شما با موفقیت همه نرم افزارهای مورد نیاز برای اجرای Jupyter را نصب کرده اید. اکنون می توانیم سرور مجازی notebook را شروع کنیم.
مرحله 4 – Jupyter notebook را اجرا کنید
اکنون همه موارد لازم برای اجرای Jupyter notebook را دارید! برای اجرای آن ، دستور زیر را اجرا کنید:
⦁ (my_project_env)Sammy@your_server:~/my_project_dir$ jupyter notebook

یک گزارش از فعالیتهای Jupyter notebook به ترمینال فرستاده و چاپ می شود. هنگامی که Jupyter notebook را اجرا می کنید ، روی یک شماره پورت خاص اجرا می شود. اولین notebook که اجرا می کنید از پورت 8888 استفاده می کند. برای بررسی شماره پورت خاصی که Jupyter Notebook روی آن در حال اجرا است ، به خروجی فرمان مورد استفاده برای شروع آن مراجعه کنید:
Output
[I 21:23:21.198 NotebookApp] Writing notebook server cookie secret to /run/user/1001/jupyter/notebook_cookie_secret
[I 21:23:21.361 NotebookApp] Serving notebooks from local directory: /home/sammy/my_project_dir
[I 21:23:21.361 NotebookApp] The Jupyter Notebook is running at:
[I 21:23:21.361 NotebookApp] http://localhost:8888/?token=1fefa6ab49a498a3f37c959404f7baf16b9a2eda3eaa6d72
[I 21:23:21.361 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[W 21:23:21.361 NotebookApp] No web browser found: could not locate runnable browser.
[C 21:23:21.361 NotebookApp]

Copy/paste this URL into your browser when you connect for the first time,
to login with a token:
http://localhost:8888/?token=1fefa6ab49a498a3f37c959404f7baf16b9a2eda3eaa6d72

اگر Jupyter notebook را روی یک رایانه محلی اجرا می کنید (نه بر روی سرور مجازی) ، می توانید به URL نمایش داده شده بروید تا به Jupyter Notebook بروید. اگر Jupyter notebook را بر روی یک سرور مجازی اجرا می کنید ، باید همانطور که در بخش بعدی بیان شده است ، با استفاده از تونل سازی SSH به سرور مجازی وصل شوید.
در این مرحله ، می توانید اتصال SSH را باز نگه دارید و Jupyter notebook را در حال اجرا نگه دارید یا می توانید پس از تنظیم تونل سازی SSH ، از برنامه خارج شوید و مجدداً آن را اجرا کنید. بیایید فرآیند Jupyter notebook را متوقف کنیم. بعد از تنظیم تونل سازی SSH دوباره آن را اجرا خواهیم کرد. برای متوقف کردن فرآیند Jupyter Notebook ، CTRL + C را فشار دهید ، Y را تایپ کنید و سپس ENTER را بزنید. خروجی زیر نمایش داده می شود:
Output
[C 21:28:28.512 NotebookApp] Shutdown confirmed
[I 21:28:28.512 NotebookApp] Shutting down 0 kernels

اکنون تونل SSH را تنظیم خواهیم کرد تا بتوانیم به notebook دسترسی پیدا کنیم.
مرحله 5 – با استفاده از تنظیم SSH به سرور مجازی متصل شوید
در این بخش نحوه اتصال به رابط وب Jupyter notebook با استفاده از تونل زنی SSH را نشان خواهیم داد. از آنجا که Jupyter notebook روی پورت خاصی روی سرور مجازی اجرا می شود (مانند: 8888 ،: 8889 و غیره) ، تونل سازی SSH شما را قادر می سازد به صورت ایمن به پورت سرور وصل شوید.
دو بخش زیر نحوه ایجاد یک تونل SSH از 1) مک یا لینوکس یا 2) ویندوز را شرح می دهد. لطفاً برای رایانه محلی خود به بخش فرعی مربوطه مراجعه کنید.
تنظیم SSH با Mac یا Linux
اگر از کامپیوتر محلی Mac یا Linux استفاده می کنید ، مراحل ایجاد یک تونل SSH مشابه استفاده از SSH برای ورود به سرور مجازی راه دور است ، به جز اینکه در فرمان ssh پارامترهای دیگری وجود دارد. در این زیر مجموعه پارامترهای اضافی مورد نیاز در فرمان ssh برای تونل زنی موفقیت آمیز ارائه خواهد شد.
تونل زنی SSH با اجرای دستور SSH زیر در یک پنجره ترمینال محلی جدید قابل انجام است:
⦁ $ ssh -L 8888:localhost:8888 your_server_username@your_server_ip

دستور ssh اتصال SSH را باز می کند ، اما -L مشخص می کند که پورت داده شده در هاست محلی (کلاینت) باید به میزبان و پورت داده شده در سمت از راه دور (سرور مجازی) ارسال شود. این بدان معنی است که هر آنچه در شماره پورت دوم (به عنوان مثال 8888) روی سرور مجازی اجرا می شود ، در اولین شماره پورت (به عنوان مثال 8888) در رایانه محلی شما ظاهر می شود.
به صورت اختیاری پورت 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 را اجرا کنید:
(my_project_env)Sammy@your_server:~/my_project_dir$ notebook
خروجی را با URL دریافت خواهید کرد. از یک مرورگر وب در دستگاه محلی خود ، رابط وب Jupyter Notebook را با URL که با http: // localhost: 8888 شروع می شود ، باز کنید. اطمینان حاصل کنید که شماره توکن (token) درج شده است ، یا وقتی در http: // localhost: 8888 از شما خواسته شد رشته شماره توکن را وارد کنید.
تونل زنی SSH با ویندوز و Putty
اگر از ویندوز استفاده می کنید ، می توانید با استفاده از Putty یک تونل SSH ایجاد کنید.
همانطور که نشان داده شده است ابتدا آدرس سرور مجازی یا آدرس IP را به عنوان نام میزبان وارد کنید:

سپس ، برای بازکردن منو ، روی SSH در پایین صفحه سمت چپ کلیک کرده و سپس روی Tunnels کلیک کنید. برای دسترسی به Jupyter در دستگاه محلی خود ، شماره پورت محلی را که می خواهید استفاده کنید وارد کنید. 8000 یا بیشتر را انتخاب کنید تا از پورت های استفاده شده توسط سایر سرویس ها استفاده نکنید ، و مقصد را localhost:8888 تعیین کنید که 8888 تعداد پورتی است که Jupyter notebook در آن کار می کند.
اکنون روی دکمه Add کلیک کنید و پورت ها باید در لیست Forwarded ports ظاهر شوند:

در آخر ، بر روی دکمه Open کلیک کنید تا از طریق SSH به سرور مجازی وصل شوید و پورت های مورد نظر را تونل بزنید. برای اتصال به Jupyter notebook که روی سرور مجازی اجرا می شود ، به http: // localhost: 8000 (یا هر پورتی که انتخاب کردید) در یک مرورگر وب بروید. اطمینان حاصل کنید که شماره توکن درج شده است ، یا وقتی در http: // localhost: 8000 از شما خواسته شده است رشته شماره توکن را وارد کنید.
مرحله 6 – استفاده از Jupyter notebook
در این بخش به اصول استفاده از Jupyter notebook می پردازیم. اگر در حال حاضر Jupyter notebook را اجرا نمی کنید ، آن را با دستور Jupyter notebook شروع کنید.
اکنون باید با استفاده از یک مرورگر وب به آن متصل شوید. Jupyter notebook ابزاری بسیار قدرتمند با ویژگی های بسیار است. در این بخش چند ویژگی اساسی برای تشریح شما در استفاده از notebook ارائه شده است. Jupyter notebook تمام فایل ها و پوشه های موجود در دایرکتوری را که از آن استفاده می شود نشان می دهد ، بنابراین وقتی در حال کار روی یک پروژه هستید ، حتماً آن را از دیرکتوری پروژه شروع کنید.
برای ایجاد یک فایل notebook جدید ، از منوی کشویی بالا سمت راست New > Python 3 را انتخاب کنید:

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

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

where $x = 2$

برای تبدیل علامت گذاری به متن غنی ، کلیدهای CTRL و ENTER را فشار دهید. باید خروجی مشابه زیر دریافت کنید:

می توانید از سلول های markdown برای نوت برداری استفاده کرده و کد خود را مستند کنید. بیایید آن معادله را اجرا کنیم و نتیجه را چاپ کنیم. روی سلول بالا کلیک کنید ، سپس کلیدهای ALT و ENTER را با هم فشار دهید تا یک سلول در زیر آن اضافه شود. کد زیر را در سلول جدید وارد کنید.
x = 2
y = x**2
print(y)

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

اکنون توانایی وارد کردن ماژول ها و استفاده از notebook را همانطور که می خواهید با هر محیط توسعه Python دیگر خواهید داشت!
نتیجه
اکنون می توانید با استفاده از Jupyter notebook کد پایتون و یادداشت های قابل تکرار را در Markdown بنویسید. برای مرور سریع Jupyter Notebooاز داخل رابط ، و کسب اطلاعات بیشتر، Help > User Interface Tour را از منوی پیمایش بالا انتخاب کنید.
از اینجا ، می توانید با خواندن مقاله تجزیه و تحلیل داده ها و تجسم سازی با pandas و Jupyter notebook در پایتون 3 ، شروع به تجزیه و تحلیل داده ها و تجسم سازی کنید.

برچسب‌ها:, ,