Руководство по Jupyter Notebook для начинающих
Jupyter Notebook — это мощный инструмент для разработки и представления проектов Data Science в интерактивном виде. Он объединяет код и вывод все в виде одного документа, содержащего текст, математические уравнения и визуализации.
Такой пошаговый подход обеспечивает быстрый, последовательный процесс разработки, поскольку вывод для каждого блока показывается сразу же. Именно поэтому инструмент стал настолько популярным в среде Data Science за последнее время. Большая часть Kaggle Kernels (работы участников конкурсов на платформе Kaggle) сегодня созданы с помощью Jupyter Notebook.
Этот материал предназначен для новичков, которые только знакомятся с Jupyter Notebook, и охватывает все этапы работы с ним: установку, азы использования и процесс создания интерактивного проекта Data Science.
Настройка Jupyter Notebook
Чтобы начать работать с Jupyter Notebook, библиотеку Jupyter необходимо установить для Python. Проще всего это сделать с помощью pip:
pip3 install jupyter
Лучше использовать pip3 , потому что pip2 работает с Python 2, поддержка которого прекратится уже 1 января 2020 года.
Теперь нужно разобраться с тем, как пользоваться библиотекой. С помощью команды cd в командной строке (в Linux и Mac) в первую очередь нужно переместиться в папку, в которой вы планируете работать. Затем запустите Jupyter с помощью следующей команды:
jupyter notebook
Это запустит сервер Jupyter, а браузер откроет новую вкладку со следующим URL: https://localhost:8888/tree. Она будет выглядеть приблизительно вот так:

Отлично. Сервер Jupyter работает. Теперь пришло время создать первый notebook и заполнять его кодом.
Основы Jupyter Notebook
Для создания notebook выберите «New» в верхнем меню, а потом «Python 3». Теперь страница в браузере будет выглядеть вот так:

Обратите внимание на то, что в верхней части страницы, рядом с логотипом Jupyter, есть надпись Untitled — это название notebook. Его лучше поменять на что-то более понятное. Просто наведите мышью и кликните по тексту. Теперь можно выбрать новое название. Например, George’s Notebook .
Теперь напишем какой-нибудь код!
Перед первой строкой написано In [] . Это ключевое слово значит, что дальше будет ввод. Попробуйте написать простое выражение вывода. Не забывайте, что нужно пользоваться синтаксисом Python 3. После этого нажмите «Run».

Вывод должен отобразиться прямо в notebook. Это и позволяет заниматься программированием в интерактивном формате, имея возможность отслеживать вывод каждого шага.
Также обратите внимание на то, что In [] изменилась и вместе нее теперь In [1] . Число в скобках означает порядок, в котором эта ячейка будет запущена. В первой цифра 1 , потому что она была первой запущенной ячейкой. Каждую ячейку можно запускать индивидуально и цифры в скобках будут менять соответственно.
Рассмотрим пример. Настроим 2 ячейки, в каждой из которых будет разное выражение print . Сперва запустим вторую, а потом первую. Можно увидеть, как в результате цифры в скобках меняются.

Если есть несколько ячеек, то между ними можно делиться переменными и импортами. Это позволяет проще разбивать весь код на связанные блоки, не создавая переменную каждый раз. Главное убедиться в запуске ячеек в правильном порядке, чтобы переменные не использовались до того, как были созданы.
Добавление описания к notebook
В Jupyter Notebook есть несколько инструментов, используемых для добавления описания. С их помощью можно не только оставлять комментарии, но также добавлять заголовки, списки и форматировать текст. Это делается с помощью Markdown.
Первым делом нужно поменять тип ячейки. Нажмите на выпадающее меню с текстом «Code» и выберите «Markdown». Это поменяет тип ячейки.
Попробуем несколько вариантов. Заголовки можно создавать с помощью символа # . Один такой символ создаст самый крупный заголовок верхнего уровня. Чем больше # , тем меньше будет текст.
Сделать текст курсивным можно с помощью символов * с двух сторон текста. Если с каждой стороны добавить по два * , то текст станет полужирным. Список создается с помощью тире и пробела для каждого пункта.

Интерактивная наука о данных
Соорудим простой пример проекта Data Science. Этот notebook и код взяты из реального проекта.
Начнем с ячейки Markdown с самым крупным текстом, который делается с помощью одного # . Затем список и описание всех библиотек, которые необходимо импортировать.
Следом идет первая ячейка, в которой происходит импорт библиотек. Это стандартный код для Python Data Science с одним исключение: чтобы прямо видеть визуализации Matplotlib в notebook, нужна следующая строчка: %matplotlib inline .

Следом нужно импортировать набор данных из файла CSV и вывести первые 10 пунктов. Обратите внимание, как Jupyter автоматически показывает вывод функции .head() в виде таблицы. Jupyter отлично работает с библиотекой Pandas!

Теперь нарисуем диаграмму прямо в notebook. Поскольку наверху есть строка %matplotlib inline , при написании plt.show() диаграмма будет выводиться в notebook!
Также обратите внимание на то, как переменные из предыдущих ячеек, содержащие данные из CSV-файла, используются в последующих ячейках в том случае, если по отношению к первым была нажата кнопка «Run».

Это простейший способ создания интерактивного проекта Data Science!
Меню
На сервере Jupyter есть несколько меню, с помощью которых от проекта можно получить максимум. С их помощью можно взаимодействовать с notebook, читать документацию популярных библиотек Python и экспортировать проект для последующей демонстрации.
Файл (File): отвечает за создание, копирование, переименование и сохранение notebook в файл. Самый важный пункт в этом разделе — выпадающее меню Download , с помощью которого можно скачать notebook в разных форматах, включая pdf, html и slides для презентаций.
Редактировать (Edit): используется, чтобы вырезать, копировать и вставлять код. Здесь же можно поменять порядок ячеек, что понадобится для демонстрации проекта.
Вид (View): здесь можно настроить способ отображения номеров строк и панель инструментов. Самый примечательный пункт — Cell Toolbar , к каждой ячейке можно добавлять теги, заметки и другие приложения. Можно даже выбрать способ форматирования для ячейки, что потребуется для использования notebook в презентации.
Вставить (Insert): для добавления ячеек перед или после выбранной.
Ячейка (Cell): отсюда можно запускать ячейки в определенном порядке или менять их тип.
Помощь (Help): в этом разделе можно получить доступ к важной документации. Здесь же упоминаются горячие клавиши для ускорения процесса работы. Наконец, тут можно найти ссылки на документацию для самых важных библиотек Python: Numpy, Scipy, Matplotlib и Pandas.
Автоматический импорт библиотек в IPython или Jupyter Notebook
Если вы — частый пользователь IPython или Jupyter Notebooks и вам надоело постоянно импортировать одни и те же библиотеки, то попробуйте этот способ:
- Перейдите к ~/.ipython/profile_default
- Создайте папку startup , если она отсутствует
- Добавьте новый файл Python под названием start.py
- Добавьте файлы, которые нужно импортировать
- Запустите IPython или Jupyter Notebook, и необходимые библиотеки загрузятся автоматически!
Рассмотрим каждый шаг визуально. Размещение start.py :
import pandas as pd
import numpy as np
# Pandas options
pd.options.display.max_columns = 30
pd.options.display.max_rows = 20
from IPython import get_ipython
ipython = get_ipython()
# If in ipython, load autoreload extension
if 'ipython' in globals():
print('\nWelcome to IPython!')
ipython.magic('load_ext autoreload')
ipython.magic('autoreload 2')
# Display all cell outputs in notebook
from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = 'all'
# Visualization
import plotly.plotly as py
import plotly.graph_objs as go
from plotly.offline import iplot, init_notebook_mode
init_notebook_mode(connected=True)
import cufflinks as cf
cf.go_offline(connected=True)
cf.set_config_file(theme='pearl')
print('Your favorite libraries have been loaded.')
При запуске сессии IPython появится следующее:
Проверить, загружены ли библиотеки, можно в globals() :
globals()['pd']globals()['np']
Теперь можно использовать интерактивную сессию без набора команд для загрузки этих библиотек! Этот способ также работает в Jupyter Notebook.
Примечания
- Файл может иметь любое название ( start.py легче запомнить), а startup/ может содержать несколько файлов. При запуске IPython они выполняются в лексикографическом порядке.
- При использовании этого способа с Jupyter Notebook ячейка с импортированными файлами отсутствует, поэтому при совместном использовании записной книжки скопируйте содержимое start.py в первую ячейку. Таким образом, другие пользователи могут увидеть, какие библиотеки вы используете.
- При работе на нескольких компьютерах нужно повторить эти действия. Обязательно используйте один и то же сценарий start.py , чтобы импортировать те же самые файлы!
- Также посмотрите официальную документацию
Этот способ избавит вас от лишних действий при начале работы с IPython и поможет создать более эффективную рабочую среду.
Jupiter notebook and BeautifulSoup4 installation
I have installed BeautifulSoup both using pip install beautifulsoup4 pip install and using conda install -c anaconda beautifulsoup4 and also tried to install it directly from the jupiter notebook using
import pip if int(pip.__version__.split('.')[0])>9: from pip._internal import main else: from pip import main def install(package): main(['install', package]) install('BeautifulSoup4')
When I try to import the module I get
--------------------------------------------------------------------------- ModuleNotFoundError Traceback (most recent call last) in ----> 1 import BeautifulSoup4
ModuleNotFoundError: No module named ‘BeautifulSoup4’`

I want to premise that I’m a noob at this, I always have problems understanding where I should install new python modules, and for some reason they always get installed everywhere but where I need them. I searched here and on google but I could not find a answer that worked or that could set me on the right track to solve the problem. Could some PRO explain step by step how to install the modules correctly, so that myself and the other people who might read this can, not only fix the problem, but also understand better how the problem was originated and how to fix similar problems in the future? Thanks
Python-сообщество
![]()
- Начало
- » Python для новичков
- » Установка Pytho и библиотек
#1 Янв. 24, 2021 17:40:54
natali090573 Зарегистрирован: 2021-01-24 Сообщения: 1 Репутация: 0 Профиль Отправить e-mail
Установка Pytho и библиотек
Доброго времени суток. начала изучение Python, но все застопорилось на этапе установки библиотек. Я все ставила по книге и тут-же проверяла. когда дошла до Jupyter — все остановилось. Он категорически не запускается, выдавая ошибку.
jupyter notebook
Traceback (most recent call last):
File “c:\python\lib\runpy.py”, line 193, in _run_module_as_main
“__main__”, mod_spec)
File “c:\python\lib\runpy.py”, line 85, in _run_code
exec(code, run_globals)
File “C:\python\Scripts\jupyter-notebook.EXE\__main__.py”, line 4, in
File “c:\python\lib\site-packages\notebook\notebookapp.py”, line 49, in
from zmq.eventloop import ioloop
File “c:\python\lib\site-packages\zmq\__init__.py”, line 57, in
_load_libzmq()
File “c:\python\lib\site-packages\zmq\__init__.py”, line 32, in _load_libzmq
from . import libzmq
ImportError: DLL load failed: Не найдена указанная процедура.
Я проверила Переменные среды — там все прописано C:\python\;C:\python\Scripts\, т.е. все должно работать, но не работает. Помогите пожалуйста. Сама не могу понять, как это исправить. В Гугле много описано про ошибки запуска JN, но нет ни слова про мой проблему. Анаконда мне не нужна, а согласно учебнику все должно работать, но не работает.
Система Win 7
Версия Python 3.7.9
Pyton установила в корень диска C:\python, все библиотеки ставила через pip install . Пакет numpy ставила совместно с mkl — в учебнике именно такой вариант был прописан для Win. Помогите пожалуйста.
#2 Янв. 24, 2021 22:28:12
doza_and От: Зарегистрирован: 2010-08-15 Сообщения: 4138 Репутация: 252 Профиль Отправить e-mail
Установка Pytho и библиотек
Не Pyton а Python 🙂
Судя по сообщению об ошибке не работает zeromq. Проблема может быть например при несовпадении разрядности питона и пакета.
Попробуйте сказать pip freeze чтобы получить перечень установленных пакетов. Выложите сюда список.
Можно попробовать переустановить zeromq отсюда https://www.lfd.uci.edu/~gohlke/pythonlibs/. внимательно следя за тем чтобы была правильная версия питона и правильная разрядность.
pyzmq‑21.0.1‑cp37‑cp37m‑win_amd64.whl для 64 разрядного питона
pyzmq‑21.0.1‑cp37‑cp37m‑win32.whl для 32 разрядного.
Помоему все должно нормально ставиться при помощи pip install jupyterlab. Но под виндой кто его знает…
p.s.
Я бы рекомендовал учиться по книжке в которой jupiter notebooks не используется. Это всеже не совсем питон. Вы не научитесь с ним нормально писать скрипты, модули, пакеты. Не получите навыков работы с отладчиком и IDE при разработке кода.
Вторая рекомендация злобная. Вы сильно упростите себе жизнь если будете изучать программировние не под ОС Windows. Исчезнут проблемы установки пакетов, неправильных кодировок, отсутствие нормальных средств работы с консолью и многие другие.
Отредактировано doza_and (Янв. 24, 2021 22:29:08)
#3 Фев. 27, 2021 20:17:49
medusa_01 Зарегистрирован: 2020-11-14 Сообщения: 32 Репутация: 1 Профиль Отправить e-mail
Установка Pytho и библиотек
doza_and
Вторая рекомендация злобная. Вы сильно упростите себе жизнь если будете изучать программировние не под ОС Windows. Исчезнут проблемы установки пакетов, неправильных кодировок, отсутствие нормальных средств работы с консолью и многие другие.
Воспользовалась этой рекомендацией — мозг разорвало практически сразу, но все же виден свет в конце тунеля))) А отступать — не про меня. К тому-же это желание знать возведенное в степень необходимости. Совет дорогого стоит. Спасибо.
Отредактировано medusa_01 (Фев. 27, 2021 20:20:13)
#4 Фев. 28, 2021 23:06:36
doza_and От: Зарегистрирован: 2010-08-15 Сообщения: 4138 Репутация: 252 Профиль Отправить e-mail
Установка Pytho и библиотек
medusa_01
же виден свет в конце тунеля
Так zeromq установился?
#5 Март 3, 2021 17:20:28
medusa_01 Зарегистрирован: 2020-11-14 Сообщения: 32 Репутация: 1 Профиль Отправить e-mail
Установка Pytho и библиотек
doza_and
Выложите сюда список.
Выкладываю список пакетов.
[ medusa@oleg-PC-O-E-M ~ ]$ pip freeze apturl==0.5.2 argcomplete==1.8.1 argon2-cffi==20.1.0 asn1crypto==0.24.0 astroid==2.3.2 async-generator==1.10 attrs==19.3.0 backcall==0.2.0 beautifulsoup4==4.6.0 bleach==3.2.1 Brlapi==0.6.6 certifi==2018.1.18 cffi==1.14.4 chardet==3.0.4 click==6.7 colorama==0.3.7 command-not-found==0.3 cryptography==2.1.4 cupshelpers==1.0 cycler==0.10.0 decorator==4.1.2 defer==1.0.6 defusedxml==0.6.0 distro-info===0.18ubuntu0.18.04.1 entrypoints==0.3 html5lib==0.999999999 httplib2==0.11.3 idna==2.6 importlib-metadata==1.7.0 ipykernel==5.4.3 ipython==7.16.1 ipython-genutils==0.2.0 ipywidgets==7.6.3 isort==4.3.21 jedi==0.18.0 Jinja2==2.11.2 jsonschema==3.2.0 jupyter==1.0.0 jupyter-client==6.1.11 jupyter-console==6.2.0 jupyter-core==4.7.0 jupyterlab-pygments==0.1.2 jupyterlab-widgets==1.0.0 keyring==10.6.0 keyrings.alt==3.0 language-selector==0.1 launchpadlib==1.10.6 lazr.restfulclient==0.13.5 lazr.uri==1.0.3 lazy-object-proxy==1.4.2 louis==3.5.0 lxml==4.2.1 macaroonbakery==1.1.3 Mako==1.0.7 MarkupSafe==1.0 mate-hud==18.4.8 mate-tweak==18.4.16 matplotlib==2.1.1 mccabe==0.6.1 meld==3.18.0 meld3==1.0.2 menulibre==2.2.0 mistune==0.8.4 more-itertools==8.4.0 multibootusb==9.2.0 nbclient==0.5.1 nbconvert==6.0.7 nbformat==5.1.2 nest-asyncio==1.4.3 netifaces==0.10.4 networkx==1.11 nose==1.3.7 notebook==6.2.0 numexpr==2.6.4 numpy==1.13.3 oauth==1.0.1 olefile==0.45.1 onboard==1.4.1 packaging==20.4 PAM==0.4.2 pandas==0.22.0 pandocfilters==1.4.3 parso==0.8.1 pexpect==4.2.1 pickleshare==0.7.5 Pillow==5.1.0 pluggy==0.13.1 progressbar==2.3 prometheus-client==0.9.0 prompt-toolkit==3.0.10 protobuf==3.0.0 psutil==5.4.2 ptyprocess==0.7.0 py==1.9.0 pycairo==1.16.2 pycparser==2.20 pycrypto==2.6.1 pycups==1.9.73 Pygments==2.7.4 pygobject==3.26.1 pyinotify==0.9.6 pylint==2.4.3 pymacaroons==0.13.0 PyNaCl==1.1.2 pyparsing==2.4.7 PyQt5==5.15.2 PyQt5-sip==12.8.1 pyRFC3339==1.0 pyrsistent==0.17.3 pysmbc==1.0.15.6 pytest==5.4.3 python-apt==1.6.5+ubuntu0.5 python-dateutil==2.6.1 python-debian==0.1.32 python-gnupg==0.4.1 python-xapp==1.6.0 python-xlib==0.20 pytz==2018.3 pyudev==0.21.0 PyWavelets==0.5.1 pyxattr==0.6.0 pyxdg==0.25 PyYAML==3.12 pyzmq==21.0.1 qtconsole==5.0.1 QtPy==1.9.0 reportlab==3.4.0 requests==2.18.4 requests-unixsocket==0.1.5 scikit-image==0.13.1 scipy==0.19.1 scour==0.36 SecretStorage==2.3.1 Send2Trash==1.5.0 setproctitle==1.1.10 simplejson==3.13.2 six==1.15.0 ssh-import-id==5.7 system-service==0.3 systemd-python==234 tables==3.4.2 terminado==0.9.2 testpath==0.4.4 tinycss==0.4 tornado==6.1 traitlets==4.3.3 typed-ast==1.4.0 ubuntu-cleaner==1.1.3 ubuntu-drivers-common==0.0.0 Ubuntu-Make==18.5 ufw==0.36 unattended-upgrades==0.1 urllib3==1.22 usb-creator==0.3.3 virtualenv==15.1.0 wadllib==1.3.2 wcwidth==0.2.5 webencodings==0.5 widgetsnbextension==3.5.1 wrapt==1.11.2 xkit==0.0.0 yapf==0.30.0 youtube-dl==2018.3.14 zipp==3.1.0 zope.interface==4.3.2 0 ✓ 18:10:52 Ср мар 03
Сейчас работаю в Linux:
Операционная система — Ubuntu 18.04 bionic (x86-64)
Версия Cinnamon — 4.2.4
Ядро Linux — 5.4.0-67-generic
Процессор — AMD FX™-8350 Eight-Core Processor × 4
Видеокарта — Advanced Micro Devices, Inc. Baffin [Radeon RX 460/560D /
Pro 450/455/460/555/555X/560/560X]
вопросов увеличилось в разы. Хотя все заработало, как положено, что уже хорошо. Хороший совет. тенперь остается только учить.)))
