← Все курсы · Курс Python · Все руководства

Как настроить блокнот Юпитер

Две команды для его запуска и изображение из трех частей, объясняющее каждую последующую ошибку. · Часть Analyst Prep Kit

К , аналитик данных · Опубликовано

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

Вот чем на самом деле заняться сегодня. Бегать python -m pip install jupyterlab, затем jupyter labи оставьте окно терминала открытым. Последняя часть не является деталью. Закрытие терминала останавливает работу ноутбука, поскольку на терминале выполняется то, что только отображает ваш браузер.

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

Эти три части — единственная идея, на которой основано все остальное, поэтому они уловили картину.

Browser, server and kernel Three boxes in a row, connected left to right by double-headed arrows. The left box is drawn as a browser window with a tab and an address bar. The middle box is drawn as a terminal window with a blinking cursor line. The right box is drawn as a plain container holding a small snake-shaped mark, representing one Python. Beneath the left box sits a small document icon, connected upward by a thin line to the middle box only, showing the file is handled by the server rather than by the browser or the Python. A dashed outline surrounds the middle and right boxes together, marking the pair that keeps running when the browser closes. browser server kernel
Браузер рисует страницу. Сервер, работающий на вашем терминале, владеет файлом. Ядро — это один Python, который запускает ваш код и хранит ваши переменные. Пунктирный контур — это то, что продолжает работать после закрытия вкладки браузера.
Что ты будешь делать
  1. Для чего нужен блокнот и когда нужно использовать что-то еще
  2. Установите его
  3. Запускаем его, и что сейчас делает терминал
  4. Ваша первая ячейка и число в скобках
  5. Меню ядра и почему в нем отсутствует ваша среда
  6. Порядок выполнения и ошибка, которую он создает
  7. Выключите его правильно
  8. Полное до и после
  9. Что пошло не так и как это исправить
  10. Почему это работает
  11. Использование этого на вашей машине
  12. Все на одном экране
На этой странице предполагается, что Python уже установлен. если python --version не отвечает в терминале, начните с Как установить Python для анализа данных, что также объясняет python -m pip форма, используемая ниже, и почему это важно. Здесь приведены версии, установленные на машине, которую я проверил 8 августа 2026 г.: ЮпитерЛаб 4.5.8, Блокнот 7.5.7, ipykernel 7.3.0.

1. Для чего нужен блокнот и когда можно использовать что-то еще

Прежде чем объяснять: подумайте о последнем анализе, который вы провели в электронной таблице. Какие части вы хотели бы повторить в следующем месяце, а какие вы делали только для того, чтобы посмотреть?

A Блокнот представляет собой документ, состоящий из ячеек. Некоторые ячейки содержат код, а при запуске одной из них вывод отображается прямо под ней. Другие держат записи. В результате получается один файл, содержащий вопрос, код, ответ и комментарий в том порядке, в котором вы их придумали.

Эта форма подходит для исследования: вы загружаете файл, смотрите на него, замечаете что-то странное, проверяете это, а затем следуете за ним. К каждому шагу прилагаются свои доказательства. Он гораздо хуже подходит для законченной, запланированной, повторяемой работы, поскольку блокнот позволяет запускать ячейки в любом порядке, а простой сценарий — нет. Используйте блокнот, чтобы найти ответ, и переместите решенные части в .py файл, как только вы узнаете, что это такое.

2. Установите его

Есть два передних конца, и они устанавливаются одинаково. ЮпитерЛаб — текущая версия с файловым браузером и вкладками. Блокнот — это более старое и простое окно для одного документа, теперь перестроенное на той же основе. Любой вариант подходит, и установка одного не мешает другому.

python -m pip install jupyterlab

Или для более простого окна:

python -m pip install notebook

Напишите это как python -m pip а не голый pip. Эта форма означает «пип, принадлежащий этому конкретному Python», что останавливает установку Юпитер в один Python, пока ваши пакеты находятся в другом. На машине с более чем одним Python это несоответствие является наиболее распространенной причиной того, что новая установка выглядит неработающей.

Если вы установили Анаконда, оба они уже установлены, и вы можете полностью пропустить этот шаг.

3. Запускаем его и что сейчас делает терминал

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

cd path/to/your/project
jupyter lab

Вкладка браузера открывается по адресу, например http://localhost:8888/lab?token=.... Прочтите это обращение, потому что оно объясняет всю схему. localhost означает сервер, работающий на вашем компьютере, а не в Интернете. 8888 это номер двери, которую он прослушивает. token — это одноразовый пароль, который существует для того, чтобы другие программы на вашем компьютере не могли незаметно управлять вашим Питон.

Ваш терминал теперь полон сообщений журнала и не принимает новые команды. Это правильно. Терминал запускает сервер, поэтому оставление его открытым — это то, что поддерживает работу ноутбука. Сверните это окно, не закрывайте его и откройте второй терминал, если он вам нужен.

4. Ваша первая ячейка и число в скобках.

Нажмите синий плюс для новой записной книжки, выберите Python 3 и введите это значение в первую ячейку.

import pandas as pd

df = pd.DataFrame({'region': ['East', 'West'], 'sales': [790, 560]})
df

Нажимать Сдвиг и Входить вместе, чтобы запустить его. Эта комбинация запускает ячейку и переходит к следующей, и это единственное сочетание клавиш, которое вам понадобится в первый день.

  region  sales
0   East    790
1   West    560

Посмотрите на левый край ячейки. Это изменилось с [ ] к [1]. Это число является счетчиком запусков: это был первый запуск ячейки с момента запуска ядра. Дело не в положении ячейки в документе, а разница между этими двумя вещами является темой раздела 6.

Одна привычка записной книжки, которую стоит выработать немедленно: последняя строка ячейки отображается сама по себе без необходимости print. Поэтому df в одиночку распечатал таблицу. Это также означает, что случайное имя переменной в последней строке незаметно сбросит в документ что-то большое.

5. Меню ядра и почему в нем отсутствует ваша среда

Перед пояснением: вы сделали виртуальное окружение, установили в него pandas и запустили Юпитер. В меню ядра его нет. Как вы думаете, куда делись посылки?

тот ядро — это Python, который на самом деле управляет вашими ячейками. Юпитер может общаться с несколькими, а меню в правом верхнем углу позволяет выбирать между ними. Ничто не заставляет этот Python быть тем же самым, на который был установлен сам Юпитер, и именно поэтому ноутбук может сообщить об отсутствии pandas, в то время как терминал на той же машине успешно импортирует их.

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

Два способа исправить это, и это действительно разные варианты, а не два варианта написания одного.

Простой путь: запустить Юпитер изнутри среды. Активируйте его, установите туда Юпитер и запустите его там. Одна среда, один Юпитер, регистрировать нечего.

.venv\Scripts\activate
python -m pip install jupyterlab pandas
jupyter lab

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

.venv\Scripts\activate
python -m pip install ipykernel
python -m ipykernel install --user --name myproject --display-name "Python (myproject)"

ipykernel — это небольшой пакет, который делает Python подотчетным Юпитер, а вторая команда записывает краткое описание того, где этот Python находится, в место, которое Юпитер читает при запуске. Перезапустите Юпитер, и в меню появится «Python (мойпроект)». Начните с простого маршрута, пока у вас есть один проект; переходите к аккуратному, когда у вас их четыре.

Что бы вы ни выбрали, докажите это изнутри блокнота, а не доверяйте этикетке. Запустите это в ячейке:

import sys
print(sys.executable)

Это выведет полный путь к Python, на котором выполняется ваш код. Если он не содержит папку вашего проекта, как вы ожидали, ядро ​​не то, которое вы имели в виду, и никакая переустановка pandas этого не изменит.

6. Порядок выполнения и ошибки, которые он создает

В блокноте ячейки отображаются в том порядке, в котором вы нажимаете клавиши Сдвиг и Входить, а не в том порядке, в котором они появляются на странице. Этот документ представляет собой запись ваших мыслей; память ядра — это запись ваших нажатий клавиш. Эти двое могут разойтись, и когда это произойдет, блокнот покажет ответ, который его собственный код больше не выдает.

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

Номера кронштейнов — ваше доказательство. Если они читают 1, 2, 7, 3 вниз по странице, страница не в порядке выполнения. Исправление — это один пункт меню, и это должно быть последнее, что вы делаете, прежде чем поделиться чем-либо: Ядро, затем перезапустите ядро ​​и запустите все ячейки.. Это очищает память и запускает документ сверху вниз, точно так же, как это сделал бы незнакомец. Если он выживет, значит, он настоящий.

А теперь представьте свой последний фрагмент анализа, в каком бы инструменте он ни проводился. Если вы удалили все, кроме файла, и повторно запустили его сверху, какой шаг потерпит неудачу первым? Этот шаг живет в вашей памяти, а не в вашей работе, и перезапуск — это то, как вы находите его раньше, чем это сделает кто-то другой.

7. Выключите его правильно

Закрытие вкладки браузера ничего не останавливает. Сервер и ядро ​​все еще работают, все еще хранят ваши данные в памяти и все еще занимают порт 8888. Это прямое следствие изображения вверху: вы закрыли только левое окно.

Чтобы остановить его, вернитесь к терминалу, на котором работает сервер, и нажмите Ctrl и С, дважды, если он запрашивает подтверждение. Приглашение возвращается, и все освобождается. Пропуская этот момент, второй запуск иногда сообщает, что порт 8888 используется, и незаметно перемещается на 8889, оставляя вам два сервера и пару запутанных вкладок.

Полное до и после

Тот же блокнот, тот же код, передан коллеге.

До

In [ 7]: sales_by_region = df.groupby('region')['sales'].sum()
In [ 3]: sales_by_region.plot(kind='bar')
In [12]: total = sales_by_region.sum()

Это работает на вашем экране. Номера скобок — 7, 3, 12 внизу страницы, что говорит о том, что ячейки выполнялись в порядке, который не описан в документе. df возможно, были созданы в ячейке, которую вы впоследствии удалили. Здесь нет ничего неправильного; его просто невозможно воспроизвести, и в его воспроизведении и состоит весь смысл его записи.

после

In [1]: import pandas as pd
In [2]: df = pd.read_csv('sales.csv')
In [3]: sales_by_region = df.groupby('region')['sales'].sum()
In [4]: sales_by_region.plot(kind='bar')
In [5]: total = sales_by_region.sum()

Тот же анализ после перезапуска ядра и запуска всех ячеек. Числа идут от 1 до 5 по порядку, что является скорее доказательством, чем аккуратностью: каждая ячейка в указанном порядке выполнялась из пустой памяти. Данные теперь поступают из файла на диске, а не из переменной, которая все еще существовала. Любой может открыть это и получить ответ.

Что пошло не так и как это исправить

Шесть, на которые приходится почти все.

«Юпитер не распознается». Он установлен в Python, которого нет в вашем PATH. Вместо этого запустите его через интерпретатор: python -m jupyter lab. Это всегда работает, если установка прошла успешно.

Модульнотфаундеррор внутри записной книжки для пакета, который вы определенно установили. Раздел 5. Запуск import sys; print(sys.executable) в ячейке и сравните его с тем, что сообщает ваш терминал. Ядро — это другой Питон.

Браузер не открывается или открывает пустую страницу. Скопируйте http://localhost:8888/lab?token=... строку из терминала и вставьте ее в браузер. Без токена вы получите запрос пароля, для которого у вас нет пароля.

Порт 8888 уже используется. Предыдущий сервер все еще жив, обычно потому, что вместо терминала была закрыта вкладка браузера. Найдите этот терминал и нажмите Ctrl и C или запустите другую дверь с помощью jupyter lab --port 8889.

Файловый браузер не может видеть ваши данные. Юпитер может получить доступ только к папке, из которой вы его запустили, и ниже. Прекрати это, cd в нужную папку и запустите снова. Это не проблема с разрешениями.

Ядро продолжает умирать на одной клетке. Обычно память: что-то загрузило файл гораздо большего размера, чем кажется. Сначала прочитайте фрагмент с помощью pd.read_csv('big.csv', nrows=1000) и посмотреть, с чем вы имеете дело. Обработка больших наборов данных рассказывает о том, что делать, если файл действительно слишком велик.

Почему это работает

Разделение на три части выглядит странным, пока вы не увидите, что оно дает. Поскольку ядро ​​представляет собой отдельную программу, взаимодействующую по определенному протоколу сообщений, оно вовсе не обязательно должно быть Python, отсюда и название Юпитер: Юлия, Python и R. Оно также не обязательно должно быть на вашем компьютере, поэтому тот же интерфейс ноутбука работает без изменений на другом сервере. А поскольку внешний интерфейс только отправляет сообщения и получает ответы, его закрытие не может нарушить текущие вычисления. Каждое неловкое поведение на этой странице, терминал, который вы должны оставить открытым, браузер, который вы не может просто закрыть меню ядра — это цена такого разделения, и она справедливая.

Проблема воспроизводимости в разделе 6 — это не ошибка новичка, это свойство среды, и оно было измерено. Исследование, в ходе которого было собрано около 1,4 миллиона общедоступных блокнотов Юпитер с GitHub и предпринято попытку их повторного запуска, показало, что лишь небольшая часть была выполнена до конца и воспроизвела исходные результаты, причем среди повторяющихся причин можно назвать неупорядоченное выполнение (Пиментел, Мирт, Браганхоло и Фрейре, 2019, Материалы 16-й Международной конференции по репозиториям программного обеспечения для майнинга, 507–517). Перезапустить и запустить все — это дешевая защита от именно того сбоя, который был учтен в исследовании.

Одно замечание по поводу написания этой страницы. Прежде чем дать ответ, он постоянно просил вас дать ответ, куда пошли пакеты, какой шаг завершится неудачно. Попытка дать ответ до того, как вы увидите правильный, достоверно повышает, насколько хорошо сохраняется правильный ответ, даже если попытка неверна (Бисра, Лю, Несбит, Салими и Винн, 2018, Обзор педагогической психологии, 30(3), 703–725).

Использование этого на вашей машине

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

  1. Запуск из папки проекта, никогда из вашего домашнего каталога. Охват файлового браузера определяется при запуске и не может быть впоследствии расширен.
  2. Помещать print(sys.executable) в первой ячейке любого ноутбука, который переживет наши дни. Он отвечает на единственный по-настоящему запутанный вопрос в этом инструменте.
  3. Перезапустите ядро ​​и запустите все, прежде чем делиться чем-либо или доверять чему-либо. Каждый раз. Это разница между результатом и его скриншотом.
  4. Загружайте данные из файла, а не из созданной вами ранее переменной. Если ячейка зависит от чего-то, чего нет в документе, документ является неполным.
  5. Переместить стационарный код в .py файл. В блокноте вы найдете ответ. Это плохое место для хранения одного.

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

Подробнее об этом и еще что-нибудь подобное. Все инструкции находятся в одном месте на индекс направляющих: настройка, SQL, Excel, Python и навыки работы с ними.

Все на одном экране

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

вещьЧто это такое или что оно делает
БлокнотДокумент ячеек. Ячейки кода показывают результат прямо под ними.
БраузерРисует страницу. Закрытие ничего не останавливает.
СерверЗапускается в вашем терминале, владеет файлом. Оставьте этот терминал открытым.
ядроPython, который запускает ваши ячейки и хранит ваши переменные.
python -m pip install jupyterlabУстанавливает текущий интерфейс. notebook устанавливает более простой.
jupyter labЗапускает его. python -m jupyter lab если слово не распознано.
локальный хост: 8888Сервер на вашем компьютере по адресу 8888. Не в Интернете.
токен в URLОдноразовый пароль, чтобы другие программы не могли управлять вашим Питон.
Сдвиг и ВходитьЗапустите эту ячейку и перейдите к следующей.
[1] рядом с клеткойПорядок выполнения, а не положение страницы. Номера, выходящие за пределы последовательности, являются предупреждением.
Отсутствует окружение в меню ядраОн никогда не был зарегистрирован. Запустите его изнутри или зарегистрируйтесь в ipykernel.
ipykernel install --user --name XЗаставляет среду отображаться в меню ядра как X.
sys.executableВыводит, какой Python действительно управляет ячейкой. Разрешает любой спор.
Перезагрузите ядро ​​и запустите всеОчищает память, работает сверху вниз. Единственное реальное доказательство того, что это работает.
Ctrl и C в терминалеПравильный способ выключить сервер и освободить порт.
Порт уже используетсяСтарый сервер все еще работает. Остановите это или используйте --port 8889.
Единственная привычка, которую следует сохранить. Перезапустите ядро ​​и запустите все ячейки, прежде чем запускать блокнот, включая свой собственный. Результат, который существует только благодаря порядку, в котором вы нажимали кнопки, еще не является результатом. Если что-то сломалось так, как не описано на этой странице, существует общая шлейф диагностики на предмет застревания.

Еще одна мысль, и мне бы искренне хотелось услышать ответы других людей. Первый блокнот, который я отправил кому-то другому, вышел из строя на его компьютере во второй ячейке, потому что нужная ему переменная была создана в ячейке, которую я удалил час назад. Что жило в памяти вашего ядра, чего никогда не было в вашем файле?

Ссылки

Тетрадь открывается, курсор моргает, и первая настоящая ячейка — жесткая.

Python для аналитиков состоит из 203 страниц, pandas читают построчно простыми словами, с практическими вопросами, в которых печатается ответ и причина, по которой он правильный.

Python для аналитиков, 19 $ →
Юпитер работает. Теперь поместите туда что-нибудь.

тот Курс Python запускает настоящий CPython на вкладке браузера, поэтому вы можете проработать уроки, а затем повторить их в своем блокноте. Он охватывает чтение файлов, группировку, очистку и составление диаграмм в том порядке, в котором их встречает аналитик.

Откройте комплект Python →