Устранение невозможности доступа к модулям виртуальной среды из установленной по умолчанию Jupyter Notebook.
Проблема
Существует несколько различных рабочих процессов Python, и знание более чем одного из них может упростить вам задачу при работе над различными видами проблем. Что касается меня, мне нравится использовать VS Code и терминал, но когда мне нужна быстрая визуализация данных, ничто не сравнится с блокнотом Jupyter для быстрых итераций.
Проблема в том, как запустить блокнот Jupyter из существующей виртуальной среды? Если запустить команду jupyter notebook
даже из виртуальной среды, она запустит сервер ноутбуков Jupyter, используя ядро по умолчанию, например: Python 3 (ipykernel). Если вы попытаетесь импортировать любой из модулей, установленных в вашей среде, вы, скорее всего, получите сообщение об ошибке Модуль не найден.
Дополнительно. Подробнее о настройке виртуальных сред читайте здесь:
После некоторого безумного гугления я в конце концов наткнулся на это быстрое и надежное решение:
Настройка блокнота Jupyter
- Перейдите и активируйте виртуальную среду (см. статью выше, если вам нужна помощь на этом шаге).
- Установите ядро Jupyter в вашей виртуальной среде с помощью следующей команды:
ipython kernel install --user --name=venv
Где --user
ограничивает установку локальным пользователем, а --name
задается именем среды на шаге 1.
3. Затем откройте блокнот с помощью команды с соответствующим названием:
jupyter notebook
4. Посмотрите в верхний правый угол вашего ноутбука, чтобы увидеть, какое ядро работает. Скорее всего, он запустится с ядром по умолчанию. Нажмите «Ядро» в строке меню и перейдите к пункту «Изменить ядро». Затем в раскрывающемся списке выберите имя среды, которое вы указали на предыдущем шаге.
Подведение итогов.В меню выберите Ядро → Изменить ядро → Имя вашего ядра.
Секреты и уловки
- Если вы хотите просмотреть доступные установленные ядра, введите следующую команду:
jupyter kernelspec list
2. Чтобы удалить ранее установленное ядро, используйте:
jupyter kernelspec uninstall venv
где «venv» — это имя вашей среды.
Закрытие
Это должно сделать это! Теперь, когда вы запускаете операторы импорта в своей записной книжке (например, import pandas as pd
), у вас будет доступ ко всем модулям в вашей среде. Теперь вы понимаете, что нужно для запуска ноутбука Jupyter в виртуальной среде.
Примечание. В этом случае у меня не была установлена Anaconda. Если у вас установлена Anaconda, есть полезный графический интерфейс, который может помочь управлять настройками вашей среды, и некоторые из вас могут предпочесть этот метод.
Эта статья написана для использования в качестве быстрого справочника закладок на тот случай, если вы столкнетесь с этой проблемой несколько раз.