В одном из предыдущих постов мы уже разбирали работу в интерактивном блокноте на примере Google Colab. Возможность написания кода в ячейках (почти как в MS Excel!), удобное выполнение в интерактивном режиме и совмещение с блоками красиво оформленного текста делает работу с данными — в том числе биологическими — гораздо приятнее. 

Кроме того, заполненный и хорошо оформленный блокнот избавляет от необходимости придумывать коду какой-то интерфейс и вместо решения биологических задач тратить время на фронтенд-разработку. Блокнот вполне можно передать коллегам, обладающим лишь минимальными навыками Python, чтобы они ввели в него свои данные и воспользовались им для расчётов. То есть это хороший вариант для работы с биологами из «мокрых» лабораторий.  

У интерактивного блокнота есть и офлайн-реализация, которая называется Jupyter Notebook (Рис. 1). Установить его можно разными способами.

Рис. 1. Вкладка браузера с открытым Jupyter Notebook
Рис. 1. Вкладка браузера с открытым Jupyter Notebook

Способ 1: установка в составе дистрибутива Anaconda

Помимо самого интерпретатора Python и Jupyter Notebook, дистрибутив Anaconda включает в себя: 

  • отдельную командную строку для Python — Anaconda Prompt;

  • виртуальные среды — возможность создать для каждого проекта своё изолированное виртуальное окружение Python с отдельным набором библиотек, чтобы избежать конфликта версий;

  • удобный графический интерфейс для запуска всего этого!

В общем, в любом случае хороший вариант. При установке этого дистрибутива на Windows все компоненты, включая Jupyter Notebook, сконфигурируются автоматически.

  1. Скачайте установочный файл Anaconda с официальной страницы дистрибутива

  2. Запустите установочный файл. Откроется стандартный установщик для Windows (Рис. 2), следуйте его инструкциям. 

  3. Когда дойдёте до выбора пути установки (папки назначения), обратите внимание на то, чтобы путь содержал только латинские буквы и цифры (без кириллицы или пробелов). Если такой папки нет, создайте её.

  4. Выполните дальнейшие инструкции установщика и завершите установку. 

  5. После завершения установки откройте меню Пуск > Все программы > Anaconda 3 и выберите Anaconda Navigator. Нажмите кнопку Launch под Jupyter Notebook, после этого он должен запуститься в браузере.

  6. Если у вас слабый компьютер, запуск может занять 1-2 минуты. Это нормально.

Рис. 2. Окно установщика дистрибутива Anaconda
Рис. 2. Окно установщика дистрибутива Anaconda

Если всё прошло нормально, перед вами появится вкладка браузера с открытым Jupyter Notebook. Наслаждайтесь работой!

Способ 2: установка через пакетный менеджер pip и редактирование переменной PATH

Только что описанный способ лучше всего подходит пользователям, у которых Python ещё не установлен. Многие пользователи Windows, наоборот, могли уже установить Python в его “базовой” комплектации, без характерных для Anaconda дополнений. Особенно это может быть актуально для пользователей Windows 10, так как она имеет в своём составе магазин приложений. А в нём как раз доступен для установки Python в базовой комплектации, не включающей в себя виртуальных сред и Jupyter Notebook.

В случае, если у вас уже установлен такой Python и вам нужен только Jupyter Notebook, не обязательно доустанавливать Anaconda “рядом” и уж тем более удалять имеющийся Python для её установки. Jupyter Notebook можно просто установить через пакетный менеджер pip, всегда поставляемый в составе Python — так же, как ставятся библиотеки. Имя пакета — notebook:

pip install notebook

Кстати, именно этот способ прописан на официальном сайте разработчика.

После завершения установки, если все сконфигурировалось нормально, Jupyter Notebook может быть запущен из командной строки Windows простой командой:

jupyter notebook

Однако, у многих пользователей здесь начинаются проблемы: командная строка может не распознавать эту команду. Текст ошибки будет выглядеть примерно так:

"jupyter" не является внутренней или внешней командой, исполняемой программой или пакетным файлом

Причина — в том, что Jupyter Notebook автоматически не прописался в системную переменную PATH, задающую пути к командам.     

Для этого случая есть два решения: временное и постоянное. Так как вам уже надо делать в интерактивном блокноте какой-то проект, или просто не терпится опробовать его функции, его можно запустить альтернативной командой:

python -m notebook

Скорее всего, через 1-2 минуты в Вашем браузере по умолчанию откроется новая вкладка с окошком Jupyter Notebook внутри. Не забудьте про корректный выход из него после окончания работы, не “захлопывайте” эту вкладку. Это было временное решение.

По идее, можно всегда пользоваться такой альтернативной командой, но это неудобно. Да и сам навык редактирования переменной PATH часто требуется программистам. Так что воспользуемся постоянным решением — изменим переменную PATH!

Для этого потребуются навыки работы с командной строкой Windows и системными настройками.

Вначале надо выяснить, что добавлять в переменную PATH. А для этого нужно посмотреть, где у вас установлен пакет notebook. В командной строке выполните команду:

pip show notebook

pip выдаст полную информационную справку об установленном у вас пакете notebook. Прокрутите её вниз — нас интересует параметр Location, то есть местоположение, где он установлен. Скорее всего, оно будет иметь вид:

c:\users\USERNAME\appdata\local\packages\pythonsoftwarefoundation.python.3.8_qbz5n2kfra8p0\localcache\local-packages\python38\site-packages

Теперь нужно подняться на один уровень выше — в нашем примере в ту папку “python38” из предыдущего пути, в которой лежит папка “site-packages”. Сделайте это командой cd и далее командой dir выведите список вложенных папок. Если сделаете всё верно, то вы увидите в списке уже упомянутую папку “site-packages” и папку “Scripts”. Она-то нам и нужна! Если эта папка действительно там обнаружилась, то путь до неё будет выглядеть как:

c:\users\USERNAME\appdata\local\packages\pythonsoftwarefoundation.python.3.8_qbz5n2kfra8p0\localcache\local-packages\python38\Scripts

Его и нужно будет добавить в PATH.

Запишите путь для вашего случая (можно просто из Location скопировать путь до site-packages в Блокнот и заменить site-packages на Scripts, чтобы не путаться). Закройте командную строку командой exit.

Обратите внимание, что в нашем примере все необходимые каталоги установлены только для одного пользователя, а не для всех — а значит, и переменную PATH можно изменить только для того же пользователя, нет необходимости делать это для всей системы. Многопользовательская Windows 10 в этом отношении напоминает Linux и предлагает такую возможность.

В строке поиска на Панели задач (заменяет меню “Пуск — Выполнить” из более ранних версий) наберите запрос “Система”. Появится результат поиска — утилита “Система” с подзаголовком “Панель управления”.

Кликните мышью по этому результату поиска. Откроется окно настройки параметров системы. В его правой части кликните по ссылке “Дополнительные параметры системы”. В появившемся диалоговом окне нажать на кнопку “Переменные среды”.

Появится новое диалоговое окно с двумя списками переменных среды (Рис. 3) — для вас как пользователя и для всей системы. В обоих списках есть переменная PATH, и под каждым есть кнопка “Изменить”. Мы будем менять переменную PATH для одного пользователя, поэтому выделяем переменную PATH в верхнем списке и нажимаем “Изменить”. Если нужно изменить эту переменную для всей системы, это делается полностью аналогично, только выбирается нижний список.

Рис. 3. Диалоговое окно редактирования переменных среды в Windows 10
Рис. 3. Диалоговое окно редактирования переменных среды в Windows 10

После нажатия кнопки “Изменить” появится диалоговое окно “Изменить переменную среды” (Рис. 4). Нажмите в нём кнопку “Создать” для создания новой записи и впишите (вставьте) в неё путь к папке Scripts, о котором мы писали выше. Щёлкните мышью в свободном пространстве (или на любую другую запись переменной) и убедитесь, что новая запись теперь отображается вместе со старыми.

Рис. 4. Диалоговое окно изменения переменной PATH в Windows 10
Рис. 4. Диалоговое окно изменения переменной PATH в Windows 10

Закройте все остальные открытые окна, оставив только параметры системы и открытые диалоговые окна. Сейчас будем сохранять изменения в системной переменной.

Нажмите кнопку “ОК” в диалоговом окне “Изменить переменную среды”. Окно закроется, и вы вернётесь к окну “Переменные среды”. Нажмите кнопку “ОК” в нём и следом — в диалоговом окне дополнительных параметров системы.

Имеющиеся инструкции не предписывают после этого обязательной перезагрузки, изменения должны вступить в силу сразу. Так что откройте командную строку и наберите

jupyter notebook

Ну что, получилось? :-)

Если даже у вас другая версия Windows, процедура редактирования переменной PATH в ней выглядит аналогично. Детальные инструкции можно найти в Интернете — так как в целом инструкций по редактированию PATH много. Они пишутся, например, для устранения проблем с Java, с .NET Framework и аналогичными инструментами. Ваша задача — знать, что вписывать в переменную. Для этого пункты 1-4 из нашей инструкции подойдут полностью, безотносительно к версии Windows.

Желаем вам максимально интерактивной работы с Python!

Больше полезной информации и образовательных ресурсов — в нашем телеграм-канале "Машинное обучение в биологии I OpenBio.edu".

Комментарии (10)


  1. JerryI
    19.11.2024 19:29

    А зачем такие сложности? Разве JupyterLab все это автоматом не делает?..


    1. eduopenbio Автор
      19.11.2024 19:29

      Мы точно знаем, что такая ошибка может появиться при установке пакета notebook.

      Если Вам достоверно известно, что обращение при установке к пакету jupyterlab вместо пакета notebook приводит к автоматической конфигурации всех перемменных среды — просим поделиться.


  1. fujinon
    19.11.2024 19:29

    Еще можно в докер.


    1. eduopenbio Автор
      19.11.2024 19:29

      Будем рады увидеть соответствующую инструкцию, если напишете.

      Однако, в рамках наших курсов мы не обучаем контейнеризации приложений. Многие люди из нашей целевой аудитории её не знают, так как её нет во входных требованиях. Так что мы вряд ли можем предложить Docker как решение проблемы в рамках проекта OpenBio Education (но идея нам нравится!)


  1. Ninil
    19.11.2024 19:29

    Ждем статей уровня "Запуск калькулятора на Windows"!


    1. Quarc
      19.11.2024 19:29

      Ну, вы знаете, вот вы сейчас, конечно, с улыбкой на лице, так сказать, в лёгкой манере, возможно, даже с иронией, упоминаете вопрос, казалось бы, простой, на первый взгляд, вопрос — запуск, казалось бы, калькулятора, того самого базового, что ли, инструмента, который, безусловно, присутствует в каждой операционной системе Windows. Но если мы с вами, уважаемый коллега, посмотрим на этот вопрос с точки зрения глубины, я бы даже сказал, системной важности и технологической сложности, то перед нами открывается совершенно иной спектр задач. Потому что, понимаете, в век цифровых технологий, где каждое нажатие кнопки — это не просто действие, а целая цепочка сложнейших процессов, взаимодействие программного обеспечения, аппаратной части, сетевых протоколов, да и, в конце концов, банальной человеческой интуиции, запуск калькулятора становится, без преувеличения, серьёзным вызовом. И, знаете, не побоюсь этого слова — интереснейшим вызовом.

      И вот, исходя из вышеизложенного, уважаемый коллега, я бы предложил автору или вам, или другому нашему коллеге, так сказать, глубже погрузиться в этот вопрос и, возможно, даже осветить его в рамках какой-нибудь содержательной и, безусловно, полезной статьи. Представьте, как это могло бы выглядеть: "Запуск калькулятора в Windows — от простого клика до сложных алгоритмов". Мы могли бы с вами рассмотреть этот процесс буквально поэтапно: от нажатия на иконку до взаимодействия с ядром системы, с глубокой аналитикой всех подводных камней. Я уверен, такая статья вызвала бы неподдельный интерес не только у специалистов в IT-сфере, но и у широкой аудитории, которая всё чаще задумывается о том, что на самом деле скрывается за привычными интерфейсами.


      1. eduopenbio Автор
        19.11.2024 19:29

        Идею написания подобной статьи поддерживаем — но предлагаем написать её самостоятельно.

        Только просим учесть, что сетевые протоколы тут ни при чём, зря Вы их упомянули. А вот вопрос онтологической сущности технологий в целом и калькулятора в частности лучше осветить, при таком глубоком анализе без философии техники не обойтись.


    1. eduopenbio Автор
      19.11.2024 19:29

      Аудиторией наших материалов и курсов являются биологи и медики, изучающие data science почти с нуля. Наши стартовые требования минимальны. Поэтому для опытных аналитиков данных наши туториалы могут выглядеть слишком простыми.


  1. fiksii
    19.11.2024 19:29

    Уровень "Средний". Не осилил.


    1. eduopenbio Автор
      19.11.2024 19:29

      Что именно непонятно?