Я установил Anaconda (с Python 2.7) и установил Tensorflow в среде, которая называется tensorflow
. Я могу успешно импортировать Tensorflow в этой среде.
Проблема в том, что Jupyter Notebook не распознает новую среду, которую я только что создал. Независимо от того , я начинаю Jupyter ноутбук с графическим интерфейсом Navigator или из командной строки в пределах от tensorflow
окр, есть только одно ядро в меню называется Python [Root]
, и Tensorflow не могут быть импортированы. Конечно, я нажимал на эту опцию несколько раз, сохранял файл, открывал заново, но это не помогло.
Странно, но я вижу две среды, когда открываю Conda
вкладку на первой странице Jupyter. Но когда я открываю Files
вкладку и пытаюсь new
достать ноутбук, у меня все равно остается только одно ядро.
Я посмотрел на этот вопрос:
связать среду Conda с Jupyter Notebook,
но ~/Library/Jupyter/kernels
на моем компьютере нет такого каталога ! Этот каталог Jupyter имеет только один подкаталог с именем runtime
.
Я действительно смущен. Должны ли среды Conda автоматически становиться ядрами? (Я следовал за https://ipython.readthedocs.io/en/stable/install/kernel_install.html, чтобы вручную настроить ядра, но мне сказали, что ipykernel
он не найден.)
источник
conda install ipykernel
в этой среде.conda install ipykernel
Кажется, установитьjupyter
в среде ... Я что-то упустил?nb_conda
используется или если ядро настроено вручную, как предложено в вопросе. В противном случае это действительно испортит вещи довольно много. Исполняемый файлjupyter
будет указывать на исполняемый файл внутри среды, но системаjupyter-notebook
будет запущена (если установлена) и, следовательно, не будет использовать среду с ядром по умолчанию.Ответы:
Я не думаю, что другие ответы работают больше, поскольку conda перестала автоматически настраивать среды как ядра jupyter. Вам необходимо вручную добавить ядра для каждой среды следующим образом:
Как описано здесь: http://ipython.readthedocs.io/en/stable/install/kernel_install.html#kernels-for-different-environments Также смотрите эту проблему .
Приложение: Вы должны иметь возможность установить
nb_conda_kernels
пакетconda install nb_conda_kernels
для автоматического добавления всех сред, см. Https://github.com/Anaconda-Platform/nb_conda_kernelsисточник
nb_conda_kernels
работала для меня в апреле 2018 года (Python 3.6.4
,conda 4.3.27
,jupyter 4.4.0
).conda install ipykernel
этот ответ, предполагая, что он уже установлен в вашей среде.Если ваши среды не отображаются, вы, вероятно, не
nb_conda_kernels
установили в среде, где установлен Jupyter. Документация Анаконды гласит, чтоОбратите внимание, что во время первоначальной публикации этого сообщения была возможная причина из-за того, что он
nb_conda
еще не поддерживал среды Python 3.6 .Если другие решения не позволяют Jupyter распознавать другие среды conda, вы всегда можете установить и запустить их
jupyter
в определенной среде. Вы, возможно, не сможете видеть или переключаться на другие среды внутри Jupyter.Обратите внимание, что я использую Python 3.6.1 в этом блокноте:
Обратите внимание, что если вы делаете это со многими средами, дополнительное пространство для хранения от установки Jupyter в каждую среду может быть нежелательным (в зависимости от вашей системы).
источник
nb_conda
Цель состоит только в том, чтобы «[обеспечить] среду Conda и расширение доступа к пакетам из Jupyter», чтобы вы не смогли запустить Jupyter из выбранной вами установки Python.ipykernel
должен быть установлен в каждой среде, которую вы хотите использовать в качестве ядра.Раздражает то, что в вашей
tensorflow
среде вы можете работатьjupyter notebook
без установкиjupyter
в этой среде . Просто бегии
tensorflow
среда теперь должна быть видна в ноутбуках Jupyter, запущенных в любой из вашихconda
сред, как-то такPython [conda env:tensorflow]
.источник
conda install nb_conda
в одной из ваших поставленных сред conda (в которой установлен ноутбук Jupyter). Затем вы можете переключать ядра / conda envs в браузере ноутбука jupyter.ipykernel
(что единственное, что действительно нужно) - это зависимостьjupyter
.Мне нужно было выполнить все команды, упомянутые в топ-3 ответов, чтобы это заработало:
источник
conda install nb_conda
jupyter lab
в этой конкретной средеПросто запустите
conda install ipykernel
в вашей новой среде, только тогда вы получите ядро с этим env. Это работает, даже если у вас есть разные версии, установленные в каждом envs, и он больше не устанавливает ноутбук jupyter. Вы можете запустить свою записную книжку из любой среды, в которой вы сможете увидеть только что добавленные ядра.источник
conda install ipykernel
в своей среде conda. В худшем случае вы можете использоватьpython -m ipykernel install --user --name mykernel
ядро для генерации вручную, но вы не захотите делать это, если оно уже обнаружено автоматически, или оно будет дважды отображаться в списке ядра.Резюме (tldr)
Если вы хотите, чтобы ядро 'python3' всегда запускало установку Python из среды, в которой оно запущено, удалите ядро 'python3' пользователя, которое имеет приоритет над любой текущей средой:
Полное решение
Я собираюсь опубликовать альтернативное и более простое решение для следующего случая:
jupyter notebook
и создаете новую записную книжку, щелкая «python3» в раскрывающемся меню «Новая», эта записная книжка выполняет python из базовой среды, а не из текущей среды.Я собираюсь использовать имя test_env для среды для остальной части решения. Также обратите внимание, что «python3» - это имя ядра.
Ответ, получивший наибольшее количество голосов, работает, но есть альтернатива. Это говорит сделать следующее:
Это даст вам возможность использовать среду test_env независимо от того, из какой среды вы запускаете
jupyter notebook
. Но при запуске ноутбука с 'python3' все равно будет использоваться установка Python из базовой среды.Вероятно, происходит то, что существует пользовательское ядро python3. Запустите команду,
jupyter kernelspec list
чтобы получить список всех ваших сред. Например, если у вас есть Mac, вам будет возвращено следующее (мое имя пользователя Ted).Jupyter делает здесь поиск по трем различным путям в поисках ядер. Он идет от пользователя , к Env , к системе . См. Этот документ для более подробной информации о путях, которые он ищет для каждой операционной системы.
Оба указанных выше ядра находятся в пути пользователя, что означает, что они будут доступны независимо от среды, в которой вы запускаете ноутбук Jupyter. Это также означает, что если на уровне среды есть другое ядро 'python3', вы никогда не сможете получить к нему доступ.
Для меня более логично, что выбор ядра 'python3' из среды, из которой вы запустили ноутбук, должен запускать Python из этой среды.
Вы можете проверить, есть ли у вас другая среда 'python3', посмотрев путь поиска Env для вашей ОС (см. Ссылку на документы выше). Для меня (на моем Mac) я выполнил следующую команду:
И у меня действительно было ядро 'python3', перечисленное там.
Благодаря этому комментарию к проблеме GitHub (см. Первый ответ) вы можете удалить среду пользователя 'python3' с помощью следующей команды:
Теперь, когда вы запустите
jupyter kernelspec list
, предполагая, что test_env все еще активен, вы получите следующее:Обратите внимание, что этот путь находится в каталоге test_env. Если вы создадите новое окружение, установите jupyter, активируете его и перечислите ядра, вы получите другое ядро 'python3', расположенное в его пути к окружению.
Пользовательское ядро 'python3' имеет приоритет перед любым ядром Env 'python3'. Удалив его, ядро активной среды 'python3' было открыто и его можно выбирать каждый раз. Это устраняет необходимость вручную создавать ядра. Это также имеет больше смысла с точки зрения разработки программного обеспечения, когда хочется изолировать себя в единой среде. Запуск ядра, отличного от среды хоста, не кажется естественным.
Также кажется, что этот пользователь «python3» не установлен для всех по умолчанию, поэтому не все сталкиваются с этой проблемой.
источник
(в среде conda, в которой вы запускаете jupyter notebook) все conda envs будут доступны автоматически. Для доступа к другим средам должны быть установлены соответствующие ядра. Вот ссылка .
источник
У нас много проблем с этим вопросом, и вот что работает для нас. Если вы используете канал conda-forge , важно убедиться, что вы используете обновленные пакеты
conda-forge
даже из своейMiniconda
корневой среды.Итак, установите Miniconda , а затем выполните:
и ваша пользовательская среда будет отображаться в Jupyter как доступное ядро, если оно
ipykernel
указано в списке для установки в вашемcustom_env.yml
файле, как в следующем примере:Просто чтобы доказать, что он работает с кучей пользовательских сред, вот скриншот из Windows:
источник
nb_conda_kernels
Пакет является наилучшим способом использоватьjupyter
сconda
. С минимальными зависимостями и конфигурацией, это позволяет вам использовать другие среды conda из ноутбука Jupyter, работающего в другой среде. Цитирую свою документацию :Тогда все, что вам нужно сделать, это запустить сервер ноутбука Jupyter:
Несмотря на множество ответов и усилия @ merv по их улучшению, найти хороший по-прежнему сложно. Я сделал это CW, поэтому, пожалуйста, проголосуйте за него или улучшите его!
источник
Я столкнулся с той же проблемой, когда мое новое окружение conda
myenv
не могло быть выбрано в качестве ядра или нового ноутбука. И бегjupter notebook
изнутри дал тот же результат.Мое решение и то, что я узнал о том, как ноутбуки Jupyter распознают conda-envs и ядра:
Установка jupyter и ipython с
myenv
помощью conda:После этого запуск
jupter notebook
за пределами любого env, указанногоmyenv
в качестве ядра, наряду с моими предыдущими средами.Запустив ноутбук, я активировал среду:
скрывает все остальные мои окружения-ядра и показывает только мои языковые ядра:
источник
Это работало для меня в Windows 10 и последнем решении:
1) Войдите в среду conda (активируйте your_env_name)
2) установить conda -n your_env_name ipykernel
3) python -m ipykernel установить --user --name build_central --display-name "your_env_name"
(ПРИМЕЧАНИЕ: включите кавычки вокруг "your_env_name", в шаге 3)
источник
Это было очень неприятно, моя проблема заключалась в том, что в недавно созданной среде conda python36 jupyter отказался загружать «seaborn» - хотя seaborn был установлен в этой среде. Казалось, что он может импортировать множество других файлов из той же среды - например, numpy и pandas, но только не seaborn. Я пробовал многие исправления, предложенные здесь и в других темах, но безуспешно. Пока я не понял, что Jupyter не запускает ядро python изнутри этой среды, а работает системный python как ядро. Несмотря на то, что неплохо выглядящие ядро и kernel.json уже присутствовали в окружении. Только после прочтения этой части документации по ipython: https://ipython.readthedocs.io/en/latest/install/kernel_install.html#kernels-for-different-environments и с помощью этих команд:
Я был в состоянии получить все идет хорошо. (На самом деле я не использовал переменную -user).
Одна вещь, которую я еще не понял, это как установить Python по умолчанию равным «Python (other-env)». В настоящее время существующий файл .ipynb, открытый с главного экрана, будет использовать системный питон. Я должен использовать меню ядра «Изменить ядро», чтобы выбрать среду Python.
источник
Хотя ответ @ coolscitist работал для меня, есть также способ, который не загромождает среду вашего ядра полным пакетом jupyter + deps. Он описан в документации по ipython и (я подозреваю) необходим, только если вы запускаете сервер ноутбука в неосновной среде.
Вы можете проверить, работает ли он, используя
источник
conda install nb_conda_kernels
работает лучше.python -m ipykernel install
это традиционный способ регистрации env, и он работает для других (не Conda) envs. Идеяnb_conda_kernels
заключается в том, что вам не нужно делать это вручную, пока вы устанавливаетеipykernel
.У меня была похожая проблема, и я нашел решение, которое работает для Mac, Windows и Linux. Требуется несколько ключевых ингредиентов, которые приведены в ответе выше:
Чтобы увидеть conda env в блокноте Jupyter, вам необходимо:
следующий пакет в вашей базе env:
conda install nb_conda
следующий пакет в каждой создаваемой среде:
conda install ipykernel
проверьте конфигурацию
jupyter_notebook_config.py
первой проверки, если у вас есть
jupyter_notebook_config.py
один из местоположений, заданных,jupyter --paths
если он не существует, создайте его, запустив
jupyter notebook --generate-config
add, или убедитесь, что у вас есть следующее:
c.NotebookApp.kernel_spec_manager_class='nb_conda_kernels.manager.CondaKernelSpecManager'
Конверт, который вы можете увидеть в своем терминале:
В Лаборатории Jupyter вы можете видеть ту же самую среду, что и выше, и для Ноутбука, и для Консоли:
И вы можете выбрать свой env, когда у вас открыт блокнот:
Безопасным способом является создание определенного env, из которого вы будете запускать свой пример команды env
jupyter lab
. Активируйте свой env. Затем добавьте пример jupyter lab extension jupyter lab . Тогда вы можете запуститьjupyter lab
источник
Следуйте инструкциям в документации iPython для добавления различных сред conda в список ядер для выбора в Jupyter Notebook. Таким образом, после установки
ipykernel
вы должны активировать каждую среду conda одну за другой в терминале и выполнить командуpython -m ipykernel install --user --name myenv --display-name "Python (myenv)"
, гдеmyenv
находится среда (ядро), которую вы хотите добавить.источник
Возможная проблема для конкретного канала
У меня была эта проблема (снова), и оказалось, что я установил от канала conda-forge ; удалив его и переустановив из канала анаконды, вместо этого исправил это для меня.
Обновление : у меня снова была та же проблема с новым env, на этот раз я установил
nb_conda_kernels
с канала anaconda , но мойjupyter_client
был с канала conda-forge . Деинсталляцияnb_conda_kernels
и переустановка обновили это к каналу с более высоким приоритетом.Поэтому убедитесь, что вы установили с правильных каналов :)
источник
jupyter
иnb_conda_kernels
должен быть установлен в одной среде - это то место, откуда вы всегда бежитеjupyter notebook
. Новые envs нужны толькоipykernel
, но не должны активироваться при запускеjupyter notebook
.В моем случае, используя Windows 10 и conda 4.6.11, запустив команды
из терминала, когда активная среда не выполняла эту работу после того, как я открыл Jupyter из той же командной строки, используя
conda jupyter notebook
.Очевидно, что решение было открыть Jupyter из Anaconda Navigator, перейдя в мою среду в Средах: Откройте Anaconda Navigator, выберите среду в Средах, нажмите кнопку «Play» в выбранной среде и выберите «Открыть с помощью Jupyter Notebook».
Среды в Anaconda Navigator для запуска Jupyter из выбранной среды
источник
ipykernel
все envs, которые хотите использовать в Jupyter в качестве ядер.