Installing IPython¶
There are multiple ways of installing IPython. This page contains simplified installation instructions that should work for most users. Our official documentation contains more detailed instructions for manual installation targeted at advanced users and developers.
If you are looking for installation documentation for the notebook and/or qtconsole, those are now part of Jupyter.
I already have Python¶
If you already have Python installed and are familiar with installing packages, you can get IPython with pip:
pip install ipython
I am getting started with Python¶
For new users who want to install a full Python environment for scientific computing and data science, we suggest installing the Anaconda or Canopy Python distributions, which provide Python, IPython and all of its dependences as well as a complete set of open source packages for scientific computing and data science.
- Download and install Continuum’s Anaconda or the free edition of Enthought’s Canopy.
- Update IPython to the current version using the Terminal:
conda update conda conda update ipython
enpkg ipython
Downloads¶
You can manually download IPython from GitHub or PyPI. To install one of these versions, unpack it and run the following from the top-level source directory using the Terminal:
pip install .
© Copyright the IPython development team. Python is trademark of the Python Software Foundation. Created using Sphinx 4.5.0.
Как запустить Jupyter Notebook с GitHub
Jupyter Notebooks становятся стандартом де факто для программирования в области ИИ, машинного обучения и Data Science. Они также очень эффективны в обучении, используя принцип литературного программирования для сочетания в одном документе программного кода и его описания. В этой статье я опишу несколько способов запуска Jupyter Notebooks, как локально на вашем компьютере, так и в облаке.
Ранее, в статье про Azure Notebooks, я описывал как можно удобно запускать код онлайн и делиться кодом с помощью этого инструмента. К сожалению, этот сервис превратился в более профессиональное решение, но необходимость запускать Jupyter Notebooks осталась. Рассмотрим, как же можно запустить Jupyter Notebook.
Просто посмотреть
Если вы просто хотите посмотреть на код в ноутбуке, не запуская его — это очень просто! Если код расположен в репозитории GitHub — просто откройте файл .ipynb , и его содержимое будет показано прямо в браузере.
Можно также использовать nbviewer для просмотра ноутбуков. Для этого нужно будет ввести онлайн имя/репозиторий на GitHub, либо любую URL, доступную через интернет. Вот пример того, как выглядит репозиторий GitHub при открытии в nbviewer.
Ещё одной хорошей опцией будет использовать Visual Studio Code, в которой возможность просмотра ноутбуков встроена “из коробки”. Если Visual Studio Code не установлена — можно использовать онлайн-версию vscode.dev, или github.dev.
GitHub.dev — это отличный способ открыть любой репозиторий в режиме Visual Studio Code для простого редактирования файлов. Для этого достаточно в адресе репозитория заменить github.com на github.dev . Заодно становится доступным просмотр ноутбуков.
Запуск локально или в облаке
В большинстве случае вам захочется не только посмотреть, но и запустить Jupyter notebooks, изменить код и посмотреть, как он работает. В этом случае — читайте дальше!
- Установить всё необходимое окружение у себя на компьютере
- Использовать облачные сервисы
В первом случае у вас есть полный контроль над окружением, файлами и вычислительными ресурсами, но придётся потратить некоторое время на установку. Во втором случае, вы будете использовать чьи-то вычислительные ресурсы, и скорее всего количество бесплатных ресурсов, доступных вам, будет ограничено. Зато не потребуется установка ПО, и вы сможете начать работать за считанные минуты.
Локальная установка
Если вы работаете в области ИИ, машинного обучения или Data Science, у вас уже скорее всего установлена среда Python. Иметь Python на своём компьютере — это в любом случае хорошая идея, поскольку велика вероятность, что она вам рано или поздно понадобится.
Проще всего установить Python с помощью дистрибутива Miniconda. Хотя большинство обычно рекомендует ставить Anaconda, которая включает в себя большое количество библиотек, я всегда рекомендую начинать с “голой” установки Python, а все библиотеки устанавливать по мере необходимости. У Miniconda размер первоначального установщика всего 50 Mb, в противовес почти 500 Mb у Anaconda.
Установив Miniconda, будет необходимо установить Jupyter:
conda install -c conda-forge notebook
pip install notebook
После установки, перейдите в папку с вашими ноутбуками, и запустите Jupyter:
jupyter notebook
Откроется окно браузера, и можно начинать работать!

В некоторых репозиториях GitHub есть файл requirements.txt , содержащий сведения о необходимых для работы проекта библиотеках. В этом случае рекомендуется перед запуском ноутбука установить эти библиотеки командой
pip install -r requirements.txt
Возможно, вместо классического Jupyter, вы захотите установить JupyterLab, его более продвинутую версию.
pip install juputerlab jupyter-lab

JupyterLab больше напоминает полноценную среду разработки, позволяя вам, помимо ноутбуков, редактировать скрипты Python, текстовые файлы и многое другое.
Поддержка языков .NET
Jupyter поддерживает много различных языков программирования в дополнение к Python. Если вы хотите использовать C# или F#, вы можете установить .NET Interactive. Установка поддержки .NET для Jupyter описана здесь
Используем Visual Studio Code
Редактировать и исполнять ноутбуки в браузере — не лучшая идея. Намного больше возможностей доступно при использовании Visual Studio Code, в которой есть отличная поддержка Jupyter Notebooks, с возможностью просмотра значений переменных, отладки и т.д. Для выполнения ноутбуков, вам нужно будет установить расширение Python (или расширение .NET, для C#/F#). Вам также понадобится установленное на вашем компьютере Python-окружение, описанное в предыдущем разделе.

Вот ещё немного документации по использованию Jupyter в VS Code.
Установка Python на ваш компьютер — хорошее решение в долгосрочной перспективе, но если вы хотите запустить ноутбук по-быстрому — имеет смысл использовать облачное окружение. Вам не придётся ничего устанавливать на свой компьютер, и вы сможете наслаждаться работой уже через несколько минут. Иногда имеет смысл использовать облачные окружения даже тогда, когда у вас есть Python — например, чтобы избежать конфликта библиотек и запустить ноутбук в “чистом” окружении.
MyBinder
MyBinder.org позволяет вам создать виртуализированное (точнее, контейнеризованное) окружение Jupyter из любого GitHub-репозитория. Вы просто вводите GitHub URL, а Binder создаст контейнер и запустит среду Jupyter. Многие репозитории с ноутбуками даже содержат кнопку Launch Binder, позволяющую вам открыть проект в Binder автоматически.

Binder попытается создать окружение, наилучшим образом подходящее для вашего проекта. Например, если в репозитории есть файл requirements.txt с описанием необходимых библиотек, они будут автоматически установлены. Более тонко можно настраивать конфигурацию с помощью файлов в директории binder — вплоть до описания Docker-контейнера, который необходимо собрать для запуска.
GitHub Codespaces
GitHub Codespaces — это новая встроенная в GitHub возможность открывать любой репозиторий в виртуализированном облачном окружении, доступном через среду VS Code в браузере или настольной версии. В настоящий момент Codespaces функционируют в режиме бета-тестирования, предоставляя индивидуальным пользователям некоторый объем бесплатных вычислительных ресурсов.

Datalore, CoCalc и др.
- JetBrains Datalore предоставляет некоторый объем бесплатных вычислительных ресурсов (в настоящий момент — 120 часов в месяц), а также некоторое количество GPU. Вам придётся предварительно загрузить ваши ноутбуки в рабочую область Datalore.
- CoCalc — это полноценное окружение для специалистов по Data Science, поддерживающее несколько популярных языков, таких как R, Julia и Sage, систему символьной компьютерной алгебры. Вы также можете запускать ограниченный набор GUI-приложений Linux и редактировать тексты в LaTeX. Я ранее писал про CoCalc в моей заметке про использование систем символьной алгебры для школьников.
- Про Google Colab вы скорее всего и так уже знаете, поэтому я не буду здесь его подробно описывать.
Заключение
- Установить Python-окружение на ваш компьютер, и использоват интерфейс Jupyter/JupyterLab в браузере, или Visual Studio Code
- Запустить в облачной среде онлайн, используя Binder, или одну из описанных выше опций.
У обоих подходов есть свои позитивные и негативные стороны, и я надеюсь, что после прочтения этой заметки вы сможете легко выбрать для себя оптимальный способ запуска Jupyter Notebooks.
Dmitri Soshnikov 2021-09-08 EDUCATION
jupyter notebooks
IPython – Установка
IPython по умолчанию включен в дистрибутив Python для Anaconda. Его можно загрузить со страницы загрузки Anaconda www.anaconda.com/download/. Двоичные файлы для всех основных ОС (Windows, MacOS и Linux) и архитектуры (32-разрядных и 64-разрядных) доступны по этой ссылке.
Чтобы установить IPython отдельно в стандартной установке Python, вы можете использовать команду pip, как показано ниже:
pip3 install ipython
IPython внутренне использует следующие пакеты –
Кроссплатформенный API для печати цветного терминального текста из Python
Инструмент автозаполнения для Python
pickleshare
Небольшая «полка», похожая на хранилище данных с поддержкой параллелизма
prompt_toolkit
Библиотека для создания мощных интерактивных командных строк в Python
Пакет с подсветкой синтаксиса, написанный на Python
simplegeneric
Простые общие функции
Система настройки для приложений Python.
Кроссплатформенный API для печати цветного терминального текста из Python
Инструмент автозаполнения для Python
pickleshare
Небольшая «полка», похожая на хранилище данных с поддержкой параллелизма
prompt_toolkit
Библиотека для создания мощных интерактивных командных строк в Python
Пакет с подсветкой синтаксиса, написанный на Python
simplegeneric
Простые общие функции
Система настройки для приложений Python.
В общем, все зависимости устанавливаются автоматически. Иначе, вы можете установить их индивидуально, используя pip.
Python: установка и использование IPython
IPython — интерактивная оболочка для языка программирования Python, которая предоставляет расширенную интроспекцию, дополнительный командный синтаксис, подсветку кода и автоматическое дополнение. Является компонентом пакета программ SciPy. (c) Wiki
# pip install ipython
Однако, на CentOS 6.5, в котором используется:
# python -V Python 2.6.6
установка через pip невозможна, так как:
ERROR: IPython requires Python version 2.7 or 3.3 or above.
Поэтому – установим через yum .
Нам потребуется подключенный репозиторий Epel:
# yum repolist | grep epel . epel Extra Packages for Enterprise Linux 6 - x86_64 11,024+86 epel-debuginfo Extra Packages for Enterprise Linux 6 - x86_64 - Debug 2,155+20
# yum -y install ipython . Install 78 Package(s) Total download size: 61 M Installed size: 210 M . Installed: python-ipython.noarch 0:0.13.2-5.el6 . Complete!
Кроме того, нам потребуется отдельно установить модуль argparse :
# pip install argparse . Successfully installed argparse Cleaning up.
После чего можно запускать консоль IPython:
$ ipython Python 2.6.6 (r266:84292, Jan 22 2014, 09:42:36) Type "copyright", "credits" or "license" for more information. IPython 0.13.2 -- An enhanced Interactive Python. ? -> Introduction and overview of IPython's features. %quickref -> Quick reference. help -> Python's own help system. object? -> Details about 'object', use 'object??' for extra details. In [1]: Do you really want to exit ([y]/n)? y
Краткий HowTo по IPython
Быстрое получение справки:
In [23]: %quickref
Просмотр истории ввода – стрелки вверх/вниз;
Смена текущей директории:
In [4]: cd / / In [5]: pwd Out[5]: u'/' In [6]: cd /home/ /home In [7]: pwd Out[7]: u'/home'
Прсомотр содержимого директории:
In [10]: ls -l total 8 -rwxrwxr-x 1 setevoy setevoy 1300 Aug 12 16:47 mysql.py*
Выполенние внешних скриптов:
In [13]: %run mysql.py Выполянем запрос INSERT. Выполняем SELECT, что бы поcмотреть результат: (('line1', 'line2', 1L), ('line3', 'line4', 2L), ('line5', 'line6', 3L), ('line7', 'line8', 4L))
Автоподстановка команд и/или имен файлов, пути – ;
Автоподстановка имен модулей – :
Просмотр всех функций модуля:
In [14]: import os In [16]: os. Display all 213 possibilities? (y or n) os.EX_CANTCREAT os.O_CREAT os.R_OK os.WIFCONTINUED os.confstr_names os.fchmod os.getpgid os.mkfifo os.removedirs os.spawnve os.ttyname os.EX_CONFIG os.O_DIRECT os.SEEK_CUR os.WIFEXITED os.ctermid os.fchown os.getpgrp os.mknod os.rename os.spawnvp os.umask os.EX_DATAERR os.O_DIRECTORY os.SEEK_END os.WIFSIGNALED os.curdir os.fdatasync os.getpid os.name os.renames os.spawnvpe os.uname
Получение справочной информации по модулю:
In [18]: os? Type: module String Form: File: /usr/lib64/python2.6/os.py Docstring: OS routines for Mac, NT, or Posix depending on what system we're on. This exports: - all functions from posix, nt, os2, or ce, e.g. unlink, stat, etc. - os.path is one of the modules posixpath, or ntpath - os.name is 'posix', 'nt', 'os2', 'ce' or 'riscos' - os.curdir is a string representing the current directory ('.' or ':') - os.pardir is a string representing the parent directory ('..' or '::') - os.sep is the (or a most common) pathname separator ('/' or ':' or '') - os.extsep is the extension separator ('.' or '/') - os.altsep is the alternate pathname separator (None or '/') - os.pathsep is the component separator used in $PATH etc - os.linesep is the line separator in text files ('r' or 'n' or 'rn') - os.defpath is the default search path for executables - os.devnull is the file path of the null device ('/dev/null', etc.) Programs that import and use 'os' stand a better chance of being portable between different platforms. Of course, they must then only use functions that are defined by all platforms (e.g., unlink and opendir), and leave all pathname manipulation to os.path (e.g., split and join).
Получение информации по конкретной функции/методу:
In [17]: os.open? Type: builtin_function_or_method String Form: Docstring: open(filename, flag [, mode=0777]) -> fd Open a file (for low level IO).
И работа, как в обычной консоли Python:
In [19]: def fun(): . print 'I'm function' . In [20]: fun() I'm function
>>> def fun(): . print 'I'm function' . >>> fun() I'm function
Различие в том, что IPython устанавливат отступы автоматически, тогда как в обычной консоли Python – их необходимо задавать вручную.