Устранение невозможности доступа к модулям виртуальной среды из установленной по умолчанию Jupyter Notebook.

Проблема

Существует несколько различных рабочих процессов Python, и знание более чем одного из них может упростить вам задачу при работе над различными видами проблем. Что касается меня, мне нравится использовать VS Code и терминал, но когда мне нужна быстрая визуализация данных, ничто не сравнится с блокнотом Jupyter для быстрых итераций.

Проблема в том, как запустить блокнот Jupyter из существующей виртуальной среды? Если запустить команду jupyter notebook даже из виртуальной среды, она запустит сервер ноутбуков Jupyter, используя ядро по умолчанию, например: Python 3 (ipykernel). Если вы попытаетесь импортировать любой из модулей, установленных в вашей среде, вы, скорее всего, получите сообщение об ошибке Модуль не найден.

Дополнительно. Подробнее о настройке виртуальных сред читайте здесь:



После некоторого безумного гугления я в конце концов наткнулся на это быстрое и надежное решение:

Настройка блокнота Jupyter

  1. Перейдите и активируйте виртуальную среду (см. статью выше, если вам нужна помощь на этом шаге).
  2. Установите ядро ​​Jupyter в вашей виртуальной среде с помощью следующей команды:
ipython kernel install --user --name=venv

Где --user ограничивает установку локальным пользователем, а --name задается именем среды на шаге 1.

3. Затем откройте блокнот с помощью команды с соответствующим названием:

jupyter notebook

4. Посмотрите в верхний правый угол вашего ноутбука, чтобы увидеть, какое ядро ​​работает. Скорее всего, он запустится с ядром по умолчанию. Нажмите «Ядро» в строке меню и перейдите к пункту «Изменить ядро». Затем в раскрывающемся списке выберите имя среды, которое вы указали на предыдущем шаге.

Подведение итогов.В меню выберите Ядро → Изменить ядро ​​→ Имя вашего ядра.

Секреты и уловки

  1. Если вы хотите просмотреть доступные установленные ядра, введите следующую команду:

jupyter kernelspec list

2. Чтобы удалить ранее установленное ядро, используйте:

jupyter kernelspec uninstall venv

где «venv» — это имя вашей среды.

Закрытие

Это должно сделать это! Теперь, когда вы запускаете операторы импорта в своей записной книжке (например, import pandas as pd), у вас будет доступ ко всем модулям в вашей среде. Теперь вы понимаете, что нужно для запуска ноутбука Jupyter в виртуальной среде.

Примечание. В этом случае у меня не была установлена ​​Anaconda. Если у вас установлена ​​Anaconda, есть полезный графический интерфейс, который может помочь управлять настройками вашей среды, и некоторые из вас могут предпочесть этот метод.

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