Запуск та завершення
Огляд
Викладання: 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 надсилає повідомлення вашому веббраузеру.
- Сервер 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.
- У директорії Applications відкрийте теку Utilities і двічі натисніть Terminal
- Натисніть 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
JupyterLab має багато можливостей традиційних інтегрованих середовищ розробки (IDE), але його особливістю є забезпечення гнучких будівельних блоків для інтерактивних дослідницьких обчислень.
Інтерфейс JupyterLab складається з панелі меню, півої бічної панелі, що згортається, і основної робочої області, яка містить вкладки з документами та діями.
Панель Меню
Панель меню у верхній частині JupyterLab містить меню верхнього рівня, яке відображає різні дії, доступні в JupyterLab разом із їхніми комбінаціями клавіш (де це можливо). Наступні пункти меню включені за замовчуванням.
- File: Дії, пов’язані з упорядкуванням файлів та директорій, такі як New, Open, Close, Save, і так далі. Меню File також включає дію Quit, яка застосовується для завершення роботи сервера JupyterLab.
- Edit: Дії, пов’язані з редагуванням документів та іншими видами діяльності, такими, як Undo, Cut, Copy, Paste тощо.
- View: Дії, які змінюють зовнішній вигляд JupyterLab.
- Run: Дії для запуску коду в різних інструментах, таких як notebooks та кодові консолі (розглянуто нижче).
- Kernel: Дії для керування ядрами, які є окремими процесами для запуску коду.
- Tabs: Список відкритих документів і дій в dock panel.
- Settings: Загальні параметри JupyterLab можна налаштувати за допомогою цього меню. Крім того, у меню, що випадає, також є опція Advanced Settings Editor, яка забезпечує більш детальний контроль параметрів і опцій конфігурації JupyterLab.
- Help: Список посилань на довідку JupyterLab і ядра.
Нижче наведено скриншот панелі меню за замовчуванням.
Ліва бічна панель
Ліва бічна панель містить множину вкладок, що часто використовуються, а саме: браузер файлів (показує вміст каталогу, де сервер JupyterLab server був запущений!), перелік працюючих ядер та терміналов, панель команд і список відкритих вкладок в основній робочій області.Скріншот вигляду лівої бічної панелі за замовчуванням наведений нижче.
Ліву бічну панель можна згорнути або розгорнути за допомогою вибору пункту “Show Left Sidebar” меню View або натиснувши на активну вкладку бічної панелі.
Основна робоча область
Основна робоча область JupyterLab уможливлює групування документів (блокнотів, текстових файлів, і так далі) та інших інструментів (терміналів, консолей кода, та інше) у вигляді панелей зі вкладками, які можна розділити або змінити їх розмір. Скриншот панелі меню надано нижче.
Перетягніть вкладку в центр панелі вкладок, щоб перемістити вкладку на панель. Розділіть панель вкладок за допомогою перетягування вкладки ліворуч, праворуч, до верху або до низу панелі. Робоча панель має одну поточну дію. Вкладка для поточної дії позначена кольоровою верхньою рамкою (за замовчуванням - синьою).
Створення сценарію Python
- Щоб почати писати нову програму на Python, натисніть піктограму текстового файлу під заголовком Інше на вкладці Launcher (Запуск) головної робочої області.
- Можна також створити новий звичайний текстовий файл, якщо обрати New -> Text File меню File на панелі Menu.
- Щоб перетворити цей звичайний текстовий файл на програму Python, виберіть дію Save File As у меню File на панелі мenu та надайте новому текстовому файлу назву, яка закінчується розширенням
.py
. - Розширення
.py
повідомляє всім ( операційній системі включно), що цей текстовий файл є програмою Python. - Це умовність, а не вимога.
Створення Jupyter Notebook
Щоб відкрити новий блокнот, натисніть піктограму Python 3 під заголовком Notebook на вкладці Запуск в у головній робочій області. Ви також можете створити новий блокнот, обравши New -> Notebook у меню File на панелі меню.
Додаткові зауваження щодо Jupyter notebooks.
- Файли, створені в notebook, мають розширення
.ipynb
, щоб відрізнити їх від програм на Python, створених як звичайний текстовий файл. - Notebooks можна експортувати як сценарії Python, які можна запускати з командного рядка.
Нижче наведено скриншот екрана Jupyter notebook, який працює в JupyterLab. Якщо вам цікаво, докладніше дивиться в official notebook documentation.
Як це зберігається
- Файл notebook зберігається у форматі JSON.
- Подібно до вебсторінки, те, що зберігається, відрізняється від того, що ви бачите у своєму браузері.
- Але формат JSON дозволяє Jupyter змішувати вихідний код, текст і зображення в одному файлі.
Упорядкування документів в панелях вкладок
У головній робочій області JupyterLab ви можете впорядковувати документи на панелі вкладок. Нижче наведено приклад з [official documentation][jupyterlab].
Спочатку створіть текстовий файл, консоль Python і вікно терміналу, а потім розділіть їх на три панелі в основній робочій зоні. Далі створіть блокнот, вікно терміналу та текстовий файл та потім розподіліть на три панелі в основній робочій зоні. Нарешті, створіть власну комбінацію панелей та вкладок. Яка, на вашу думку, комбінація панелей та вкладок буде найбільш корисною для Вашого робочого процесу?
Рішення
Після створення необхідних вкладок Ви можете перетягнути одну з вкладок у центр панелі для переміщення вкладки по панелі; потім ви можете розділити панель вкладок, перетягнувши вкладку ліворуч,> > праворуч, вгору або до низу панелі.
Застосування Jupyter Notebook для редагування та запуску Python
- Незважаючи на те, що сценарії Python зазвичай пишуть за допомогою текстового редактора, ми надалі будемо використовувати [Jupyter Notebook][jupyter].
- Застосування Jupyter Notebook має кілька переваг:
- Ви можете легко вводити, редагувати, копіювати та вставляти блоки коду.
- Автодоповнення за допомогою клавіші Tab дозволяє легко отримати доступ до назв об’єктів, які ви використовуєте, та отримати додаткову інформацію.
- Ви можете коментувати свій код посиланнями, текстом різного розміру, маркерами тощо, щоб зробити його більш читабельним для себе та своїх колег
- Ви можете відображати результати одразу за кодом, який їх продукує, щоб вести повну історію аналізу.
- Кожен блокнот має одну або кілька клітинок, які містять код, текст або зображення.
Код проти тексту
Jupyter змішує код і текст у різних типах блоків, які називаються клітинками. Ми часто використовуємо термін «код», що означає «вихідний код програмного забезпечення, написаний такою мовою, як Python». «Клітинка коду» в блокноті — це клітинка, що містить програмне забезпечення; «текстова клітинка» — це клітинка, що містить звичайний текст, написаний для людей.
Jupiter Notebook має режими команд та редагування
- Якщо ви натиснетеEsc та Return по черзі, то зовнішня границя клітинки коду зміниться з сірої на синю.
- Існують Command (сірий) та Edit (синій) режими вашого блокноту.
- Командний режим дозволяє редагувати функції на рівні блокнота, а режим редагування змінює вміст клітинок.
- В командному режимі (esc/сірий),
- Клавіша b створює нову клітинку нижче поточної обраної клітинки.
- Клавіша a створює одну клітинку вище поточної.
- Клавіша x видаляє поточну клітинку.
- Клавіша z скасовує вашу останню операцію з клітинкою (це може бути операція видалення, створення тощо).
- Усі дії можна виконувати за допомогою меню, але є багато комбінацій клавіш для прискорення.
Команди проти Редагування
На сторінці Jupyter notebook ви зараз перебуваєте в командному режимі чи режимі редагування?
Переключиться між режимами. Використайте комбінації клавіш, щоб створити нову клітинку. Використайте комбінації клавіш, щоб видалити клітинку. Використайте комбінації клавіш, щоб скасувати останню операцію з клітинкою.Рішення
Командний режим має сіру рамку, а режим редагування — синю. Використовуйте Esc та Return, щоб переключатися між режимами. Ви маєте бути в командному режимі (Натисніть Esc, якщо ваша клітинка синя). Натисніть b або a. Ви маєте бути в командному режимі (Натисніть Esc, якщо ваша клітинка синя). Натисніть x. Ви маєте бути в командному режимі (Натисніть Esc якщо ваша клітинка синя). Натисніть z.
Використовуйте клавіатуру та мишу для виділення та редагування клітинок.
- Натискання клавіші Return перетворює рамку на синю та вмикає режим редагування, що дозволяє вам вводити інформацію в клітинку.
- Якщо є необхідність введення кількох рядків кода в одну клітинку, натискання клавіші Return в режимі редагування (синя рамка) переміщує курсор на наступний рядок в клітинці як у текстовому редакторі.
- Якщо ми хочемо запустити код, що знаходиться в клітинці, нам потрібен інший спосіб повідомити про це Notebook.
- Одночасне натискання клавіш Shift+Return призведе до виконання вмісту клітинки.
- Зверніть увагу, що клавіші Return та Shift розташовані поруч на клавіатурі справа .
Notebook підтримує мову розмітки текстів Markdown
- Notebooks також можуть відображати Markdown.
- Простий текстовий формат для створення списків, посилань та інших елементів, які можуть бути розміщені на вебсторінці.
- Відповідно, це підмножина HTML, яка виглядає як те, що Ви надіслали б у старомодному електронному листі.
- Перетворіть поточну клітинку на клітинку Markdown, увійшовши в командний режим (Esc/gray) та натиснувши M key.
In [ ]:
зникне, щоб показати, що це вже не клітинка коду, і Ви зможете писати в Markdown.- Перетворіть поточну клітинку на клітинку з кодом, увійшовши в командний режим (Esc/gray) та натиснувши клавішу y .
Markdown робить більшість того, що робить HTML.
* Використовуйте зірочки
* щоб створити
* марковані списки.
- Використовуйте зірочки
- щоб створити
- марковані списки.
1. Використовуйте цифри,
1. щоб створити
1. нумеровані списки.
- Використовуйте цифри,
- щоб створити
- нумеровані списки.
* Можна використовувати відступи,
\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 клітинці блокноту так, щоб вона виглядала наступним чином:
- Знайти фінансування.
- Виконати роботу.
- Провести експеримент.
- Зібрати дані.
- Провести аналіз.
- Написати статтю.
- Опублікувати.
Рішення
Це завдання поєднує як нумерований, так і маркований списки. Зверніть увагу, що маркований список має відступ на 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
- На панелі меню оберіть меню «File» і натисніть «Quit» внизу спадного меню. Вам буде запропоновано підтвердити, що Ви бажаєте вимкнути сервер JupyterLab (не забудьте зберегти свою роботу!). Натисніть «Confirm», щоб вимкнути сервер JupyterLab.
- Щоб перезапустити сервер JupyterLab, Вам потрібно буде повторно активувати наступну команду з оболонки.
$ jupyter lab
Закриття JupyterLab
Потренуйтеся закривати та перезапускати сервер JupyterLab.
Ключові моменти
Сценарії Python - це звичайні текстові файли.
Використовуйте Jupyter Notebook для редагування та запуску Python.
Jupyter Notebook має режими Команд та Редагування.
Використовуйте клавіатуру та мишу для виділення та редагування клітинок.
The Notebook перетворює Markdown в якісно оформлену документацію.
Markdown робить більшість того, що робить HTML.