Запуск та завершення

Огляд

Викладання: 15 хв
Вправи: 0 хв
Питання
  • Як запустити програми Python?

Цілі
  • Запустити сервер JupyterLab.

  • Створити новий сценарій Python.

  • Створити блокнот Jupyter.

  • Зупинити сервер JupyterLab.

  • Зрозуміти різницю між сценарієм Python і блокнотом Jupyter.

  • Створити клітинки Markdown у блокноті.

  • Створити та запустити клітинки Python в блокноті.

Початок роботи з JupyterLab

Багато розробників програмного забезпечення для створення та редагування своїх програм мовою Python використовують інтегроване середовище розробника (integrated development environment, або IDE) або текстовий редактор. Це загальний підхід, але протягом цього уроку ми будемо використовувати [JupyterLab][jupyterlab].

JupyterLab є програмним додатком з веборієнтованим інтерфейсом користувача з [Project Jupyter][jupyter] , який уможливлює опрацювання документів та застосування таких інструментів, як Jupyter notebooks, текстові редактори, термінали і навіть спеціальні компоненти користувача у гнучкий, інтегрований та розширюваний спосіб. JupyterLab потребує досить сучасний браузер (в ідеалі це має бути остання версія Chrome, Safari або Firefox); Internet Explorer версії 9 і нижче не підтримується.

JupyterLab є частиною інсталяційного пакета Anaconda Python. Якщо ви не встановили дистрибутив Anaconda Python, зверніть увагу на інструкції з налаштування , де розміщено інструкції щодо процесу інсталяції.

Незважаючи на те, що JupyterLab є вебдодатком, JupyterLab працює локально на вашому комп’ютері та не потребує зв’язку з інтернетом.

JupyterLab? А чому не Jupyter notebooks?

JupyterLab є подальшим кроком в еволюції Jupyter Notebook. Якщо ви раніше використовували Jupyter notebooks, то ви добре зрозумієте діапазон можливостей JupyterLab.

Користувачі, що мають досвід застосування Jupyter notebooks та зацікавлені в більш детальному описі подібностей та відмінностей між інтерфейсами користувача JupyterLab та Jupyter notebook, можуть знайти більше інформації в JupyterLab документації інтерфейсу користувача.

Початок роботи з JupyterLab

Користувачі Mac OS X

Для запуску сервера JupyterLab server ви маєте отримати доступ до командного рядка через Terminal. Terminal — це стандартний застосунок Mac OS, емулятор консолі, так званий command line interface. Є два способи відкрити Terminal на Mac.

  1. У директорії Applications відкрийте теку Utilities і двічі натисніть Terminal
  2. Натисніть Command + spacebar, щоб запустити Spotlight. Введіть Terminal і потім зробіть подвійне натискання на результат пошуку або натисніть Enter

Після запуску Terminal введіть команду для запуску сервера JupyterLab.

$ jupyter lab

Користувачі Windows

Для запуску JupyterLab server вам потрібен доступ до додатку Anaconda Prompt.

Натисніть Windows Logo Key і знайдіть Anaconda Prompt, натисніть на результат пошуку або на клавішу enter.

Після запуску Anaconda Prompt введіть команду:

$ jupyter lab

Нижче наведено скріншот екрана цільової сторінки JupyterLab, схожої на ту, яка має відкритися у вашому веббраузері за замовчуванням після запуску сервера JupyterLab в операційній системі Mac OS X або ОС Windows.

JupyterLab landing page

Інтерфейс JupyterLab

JupyterLab має багато можливостей традиційних інтегрованих середовищ розробки (IDE), але його особливістю є забезпечення гнучких будівельних блоків для інтерактивних дослідницьких обчислень.

Інтерфейс JupyterLab складається з панелі меню, півої бічної панелі, що згортається, і основної робочої області, яка містить вкладки з документами та діями.

Панель Меню

Панель меню у верхній частині JupyterLab містить меню верхнього рівня, яке відображає різні дії, доступні в JupyterLab разом із їхніми комбінаціями клавіш (де це можливо). Наступні пункти меню включені за замовчуванням.

Нижче наведено скриншот панелі меню за замовчуванням.

JupyterLab Menu Bar

Ліва бічна панель

Ліва бічна панель містить множину вкладок, що часто використовуються, а саме: браузер файлів (показує вміст каталогу, де сервер JupyterLab server був запущений!), перелік працюючих ядер та терміналов, панель команд і список відкритих вкладок в основній робочій області.Скріншот вигляду лівої бічної панелі за замовчуванням наведений нижче.

JupyterLab Left Side Bar

Ліву бічну панель можна згорнути або розгорнути за допомогою вибору пункту “Show Left Sidebar” меню View або натиснувши на активну вкладку бічної панелі.

Основна робоча область

Основна робоча область JupyterLab уможливлює групування документів (блокнотів, текстових файлів, і так далі) та інших інструментів (терміналів, консолей кода, та інше) у вигляді панелей зі вкладками, які можна розділити або змінити їх розмір. Скриншот панелі меню надано нижче.

JupyterLab Main Work Area

Перетягніть вкладку в центр панелі вкладок, щоб перемістити вкладку на панель. Розділіть панель вкладок за допомогою перетягування вкладки ліворуч, праворуч, до верху або до низу панелі. Робоча панель має одну поточну дію. Вкладка для поточної дії позначена кольоровою верхньою рамкою (за замовчуванням - синьою).

Створення сценарію Python

Створення Jupyter Notebook

Щоб відкрити новий блокнот, натисніть піктограму Python 3 під заголовком Notebook на вкладці Запуск в у головній робочій області. Ви також можете створити новий блокнот, обравши New -> Notebook у меню File на панелі меню.

Додаткові зауваження щодо Jupyter notebooks.

Нижче наведено скриншот екрана Jupyter notebook, який працює в JupyterLab. Якщо вам цікаво, докладніше дивиться в official notebook documentation.

Example Jupyter Notebook

Як це зберігається

  • Файл notebook зберігається у форматі JSON.
  • Подібно до вебсторінки, те, що зберігається, відрізняється від того, що ви бачите у своєму браузері.
  • Але формат JSON дозволяє Jupyter змішувати вихідний код, текст і зображення в одному файлі.

Упорядкування документів в панелях вкладок

У головній робочій області JupyterLab ви можете впорядковувати документи на панелі вкладок. Нижче наведено приклад з [official documentation][jupyterlab].

Multi-panel JupyterLab

Спочатку створіть текстовий файл, консоль Python і вікно терміналу, а потім розділіть їх на три панелі в основній робочій зоні. Далі створіть блокнот, вікно терміналу та текстовий файл та потім розподіліть на три панелі в основній робочій зоні. Нарешті, створіть власну комбінацію панелей та вкладок. Яка, на вашу думку, комбінація панелей та вкладок буде найбільш корисною для Вашого робочого процесу?

Рішення

Після створення необхідних вкладок Ви можете перетягнути одну з вкладок у центр панелі для переміщення вкладки по панелі; потім ви можете розділити панель вкладок, перетягнувши вкладку ліворуч,> > праворуч, вгору або до низу панелі.

Застосування Jupyter Notebook для редагування та запуску Python

Код проти тексту

Jupyter змішує код і текст у різних типах блоків, які називаються клітинками. Ми часто використовуємо термін «код», що означає «вихідний код програмного забезпечення, написаний такою мовою, як Python». «Клітинка коду» в блокноті — це клітинка, що містить програмне забезпечення; «текстова клітинка» — це клітинка, що містить звичайний текст, написаний для людей.

Jupiter Notebook має режими команд та редагування

Команди проти Редагування

На сторінці Jupyter notebook ви зараз перебуваєте в командному режимі чи режимі редагування?
Переключиться між режимами. Використайте комбінації клавіш, щоб створити нову клітинку. Використайте комбінації клавіш, щоб видалити клітинку. Використайте комбінації клавіш, щоб скасувати останню операцію з клітинкою.

Рішення

Командний режим має сіру рамку, а режим редагування — синю. Використовуйте Esc та Return, щоб переключатися між режимами. Ви маєте бути в командному режимі (Натисніть Esc, якщо ваша клітинка синя). Натисніть b або a. Ви маєте бути в командному режимі (Натисніть Esc, якщо ваша клітинка синя). Натисніть x. Ви маєте бути в командному режимі (Натисніть Esc якщо ваша клітинка синя). Натисніть z.

Використовуйте клавіатуру та мишу для виділення та редагування клітинок.

Notebook підтримує мову розмітки текстів Markdown

Markdown робить більшість того, що робить HTML.

*   Використовуйте зірочки
*   щоб створити
*   марковані списки.
  • Використовуйте зірочки
  • щоб створити
  • марковані списки.
1.  Використовуйте цифри,
1.  щоб створити
1.  нумеровані списки.
  1. Використовуйте цифри,
  2. щоб створити
  3. нумеровані списки.
*  Можна використовувати відступи,
\t*  щоб створити підсписки
\t*  одного типу
*  Або підсписки
\t1. різних 
\t1. типів
  • Можна використовувати відступи, \t* щоб створити підсписки \t* одного типу
  • Або підсписки \t1. різних \t1. типів
# Заголовок рівня-1

Заголовок рівня-1

## Заголовок рівня 2 (і так далі)

Заголовок рівня 2 (і так далі)

Розриви рядків
не мають значення.

Але порожні рядки
створюють нові параграфи.

Розриви рядків не мають значення.

Але порожні рядки створюють нові параграфи.

[Create links](http://software-carpentry.org) разом з `[...](...)`.
Або використовуйте  [named links][data_carpentry].

[data_carpentry]: http://datacarpentry.org

Create links разом з [...](...). Або використовуйте named links.

Створення списків в Markdown

Створіть вкладений список в Markdown клітинці блокноту так, щоб вона виглядала наступним чином:

  1. Знайти фінансування.
  2. Виконати роботу.
    • Провести експеримент.
    • Зібрати дані.
    • Провести аналіз.
  3. Написати статтю.
  4. Опублікувати.

Рішення

Це завдання поєднує як нумерований, так і маркований списки. Зверніть увагу, що маркований список має відступ на 2 проміжки, щоб він не збігався з елементами нумерованого списку.

1.  Знайти фінансування.
2.  Виконати роботу.
    *   Провести експеримент.
    *   Зібрати дані.
    *   Провести аналіз.
3.  Написати статтю.
4.  Опублікувати.

Більше математики

Що відображається, коли виконується клітинка Python в блокноті, що містить декілька обчислень? Наприклад, що трапиться при виконанні дій наступної клітинки?

7 * 3
2 + 1

Рішення

Python поверне результат останнього обчислення.

3

Зміна типу певної клітинки з Code на Markdown

Що станеться, якщо Ви напишете код Python у клітинку а потім перемкнете клітинку у режим Markdown? Наприклад, помістіть наступний код в клітинку:

x = 6 * 7 + 12
print(x)

а потім запустіть цей код за допомогою Shift+Return, щоб переконатися, що він працює. Тепер поверніться до клітинки, використайте комбінацію Esc та m, щоб переключитися в режим Markdown, а потім “запустіть” її за допомогою Shift+Return. Що сталося, і як це може бути корисним?

Рішення

Код Python розглядається як текст Markdown. Рядки виглядають так, ніби вони є частиною одного суміжного абзацу. Це може бути корисним для тимчасового вмикання та вимикання клітинок у блокнотах, які використовуються для різних цілей.

x = 6 * 7 + 12 print(x)

Рівняння

Стандартний Markdown (наприклад, який ми використовуємо для цих приміток) не відтворює рівняння, але Notebook може. Створіть нову клітинку Markdown і введіть наступне:

$\sum_{i=1}^{N} 2^{-i} \approx 1$

(Ймовірно, легше скопіювати та вставити). Що ми побачимо? Як Ви думаєте, що роблять: підкреслення _, циркумфлекс ^ і знак долара $?

Рішення

Блокнот показує рівняння так, як воно було б відтворено за допомогою синтаксису рівняння LaTeX. Знаки долара, $, використовуються, щоб повідомити Markdown, що текст між ними є рівнянням LaTeX. Якщо ви не знайомі з LaTeX, то повідомляємо, що символ підкреслення _ використовується для нижніх індексів, а циркумфлекс ^ використовується для верхніх індексів. Пара фігурних дужок, { і }, використовується для групування тексту так, що оператор i=1 стає нижнім індексом, а N стає верхнім індексом. Подібним чином, -i у фігурних дужках використовується, щоб зробити весь оператор верхнім індексом для 2. \sum and \approx є командами LaTeX символів «сума» і «приблизно».

Закриття JupyterLab

$ jupyter lab

Закриття JupyterLab

Потренуйтеся закривати та перезапускати сервер JupyterLab.

Ключові моменти

  • Сценарії Python - це звичайні текстові файли.

  • Використовуйте Jupyter Notebook для редагування та запуску Python.

  • Jupyter Notebook має режими Команд та Редагування.

  • Використовуйте клавіатуру та мишу для виділення та редагування клітинок.

  • The Notebook перетворює Markdown в якісно оформлену документацію.

  • Markdown робить більшість того, що робить HTML.