Środowiska Conda nie pojawiają się w Notatniku Jupyter

363

Zainstalowałem Anacondę (z Python 2.7) i zainstalowałem Tensorflow w środowisku o nazwie tensorflow. Mogę z powodzeniem zaimportować Tensorflow w tym środowisku.

Problem polega na tym, że Jupyter Notebook nie rozpoznaje nowego środowiska, które właśnie utworzyłem. Bez względu na to, czy uruchamiam Jupyter Notebook z GUI Navigator lub z linii poleceń w środowisku tensorflowenv, w menu jest tylko jedno jądro o nazwie Python [Root], a Tensorflow nie może zostać zaimportowany. Oczywiście kliknąłem tę opcję wiele razy, zapisałem plik, otworzyłem ponownie, ale te nie pomogły.

O dziwo, widzę dwa środowiska, kiedy otwieram Condazakładkę na pierwszej stronie Jupytera. Ale kiedy otwieram Fileskartę i próbuję newzeszytu, wciąż mam tylko jedno jądro.

Spojrzałem na to pytanie: Połącz środowisko Conda z Jupyter Notebook Ale nie ma takiego katalogu jak ~/Library/Jupyter/kernelsna moim komputerze! Ten katalog Jupyter ma tylko jeden podkatalog o nazwie runtime.

Jestem naprawdę zdezorientowany. Czy środowiska Conda powinny automatycznie stać się jądrem? (Postępowałem zgodnie z https://ipython.readthedocs.io/en/stable/install/kernel_install.html, aby ręcznie skonfigurować jądra, ale powiedziano mi, że ipykernelnie znaleziono.)

użytkownik31039
źródło
43
Uruchom conda install ipykernelw tym środowisku.
Thomas K
1
conda install ipykernelwydaje się instalować jupyterw środowisku ... Czy coś mi brakuje?
Dror,
1
prawdopodobnie ipykernel ma jupyter jako zależność?
kevinkayaks
1
wydaje się już nie działać ... patrz odpowiedź poniżej od Andreasa
Casey L
@ThomasK działa to tylko wtedy, gdy nb_condajest używane lub jeśli jądro jest konfigurowane ręcznie, jak sugerowano w pytaniu. W przeciwnym razie będzie to naprawdę bardzo bałagan. Plik wykonywalny jupyterwskaże plik wykonywalny w środowisku, ale system jupyter-notebookzostanie uruchomiony (jeśli jest zainstalowany) i dlatego nie będzie używać środowiska z domyślnym jądrem.
lędźwiowy

Odpowiedzi:

542

Nie sądzę, aby inne odpowiedzi już działały, ponieważ conda przestała automatycznie konfigurować środowiska jako jądra jupyter. Musisz ręcznie dodać jądra dla każdego środowiska w następujący sposób:

source activate myenv
python -m ipykernel install --user --name myenv --display-name "Python (myenv)"

Jak udokumentowano tutaj: http://ipython.readthedocs.io/en/stable/install/kernel_install.html#kernels-for-different-environments Zobacz także ten problem .

Dodatek: Powinieneś być w stanie zainstalować nb_conda_kernelspakiet, conda install nb_conda_kernelsaby automatycznie dodawać wszystkie środowiska, patrz https://github.com/Anaconda-Platform/nb_conda_kernels

Andreas Mueller
źródło
28
Czy można w jakiś sposób oznaczyć flagę jako najbardziej aktualne rozwiązanie na dzień dzisiejszy?
N. CHATURV3DI
1
Tylko to działało dla mnie! conda install nb_conda - nie pomogło. Dzięki!
Deil
2
Instalacja nb_conda_kernelspracował dla mnie od kwietnia 2018 ( Python 3.6.4, conda 4.3.27, jupyter 4.4.0).
wflynny 19.04.18
3
Korekta do mojego poprzedniego komentarza: nowa env nie pojawia się tylko za pierwszym razem. Po dezaktywacji i ponownej aktywacji env, a następnie otwarciu jupyter, to pokazuje się poprawnie.
R71
23
Jeśli to nie działa, spróbuj uruchomić conda install ipykerneltę odpowiedź, zakładając, że masz już zainstalowany w swoim środowisku.
Ken Myers
150

Jeśli twoje środowiska się nie wyświetlają, prawdopodobnie nie masz nb_conda_kernelszainstalowanego w środowisku, w którym jest zainstalowany Jupyter. Dokumentacja Anakondy stwierdza, że

nb_conda_kernelspowinien być zainstalowany w środowisku, w którym uruchamiasz Jupyter Notebook lub JupyterLab. To może być twoje podstawowe środowisko conda, ale nie musi tak być. Na przykład, jeśli środowisko notebook_env zawiera pakiet notesu, uruchomiłbyś się

conda install -n notebook_env nb_conda_kernels

Każde inne środowisko, do którego chcesz uzyskać dostęp w swoich notebookach, musi mieć zainstalowany odpowiedni pakiet jądra. Na przykład, aby uzyskać dostęp do środowiska Python, musi on mieć pakiet ipykernel; na przykład

conda install -n python_env ipykernel

Aby korzystać ze środowiska R, musi on mieć pakiet r-irkernel; na przykład

conda install -n r_env r-irkernel

W przypadku innych języków należy zainstalować odpowiadające im jądra .

Zwróć uwagę, że w momencie pierwotnego publikowania tej wiadomości mogła istnieć przyczyna nb_condabraku obsługi środowisk Python 3.6 .

Jeśli inne rozwiązania nie pozwolą Jupyterowi rozpoznać innych środowisk conda, zawsze możesz zainstalować i uruchomić jupyterz określonego środowiska. Jednak możesz nie być w stanie zobaczyć lub przełączyć się na inne środowiska z poziomu Jupyter.

$ conda create -n py36_test -y python=3.6 jupyter
$ source activate py36_test
(py36_test) $ which jupyter
/home/schowell/anaconda3/envs/py36_test/bin/jupyter
(py36_test) $ jupyter notebook

Zauważ, że korzystam z Pythona 3.6.1 w tym notesie: wprowadź opis zdjęcia tutaj

Pamiętaj, że jeśli zrobisz to w wielu środowiskach, dodatkowe miejsce do przechowywania po zainstalowaniu Jupytera w każdym środowisku może być niepożądane (w zależności od systemu).

Steven C. Howell
źródło
Cześć Przepraszam, że ponownie otworzyłem ten wątek. Jednak próbowałem wszystkiego zgodnie z zaleceniami tutaj i nadal nie widzę env tensorflow w jupyter. Mam jupyter zainstalowany w env tensorflow. Mam tam zainstalowany Python 3.6.1. Próbowałem zainstalować conda nb_conda, ale mówi konflikt z py3.6. Więc to nie zostało zainstalowane, wszystko inne, co próbowałem i wydaje się nie działać. Jakakolwiek rada?
Baktaawar,
ok. Sprawdziłem jeszcze raz. Mój problem polega na tym, że mój plik jupyter po otwarciu w jądrze Python 3 nie jest w stanie zaimportować żadnych modułów. Nie jestem pewien, dlaczego tak jest. A także nie pokazuje innych env
Baktaawar
2
@ Baktaawar, zobacz moją zaktualizowaną odpowiedź pokazującą, jak używać Pythona 3.6 w notatniku. Możesz uruchomić środowisko python 3.6, wystarczy uruchomić jupyter z tym środowiskiem aktywnym. Środowiska Conda można traktować jako samodzielne instalacje Pythona. Jeśli zainstalujesz Jupyter w swoim Pythonie systemowym, zobaczysz tylko jedną opcję jądra Pythona. nb_condajego celem jest tylko „[zapewnienie] środowiska Conda i rozszerzenia dostępu do pakietu z poziomu Jupyter”, aby nie było to możliwe, aby można było uruchomić Jupyter z wybranej instalacji Pythona.
Steven C. Howell,
1
@ StevenC.Howell dzięki za zajęcie się moją obawą. Myślę, że nadal musisz wspomnieć, że ipykernelnależy zainstalować w każdym środowisku, którego chcesz używać jako jądra.
merv
1
Hmm, nie jestem pewien, dlaczego to działa bez tego. Masz rację, wyraźnie stwierdzają, że powinien zostać zainstalowany. Dodałem to do mojej odpowiedzi. Dzięki!
Steven C. Howell
112

Irytujące jest to, że w twoim tensorflowśrodowisku możesz działać jupyter notebook bez instalowania jupyterw tym środowisku . Po prostu biegnij

(tensorflow) $ conda install jupyter

a tensorflowśrodowisko powinno być teraz widoczne w Notatnikach Jupyter uruchomionych w dowolnym condaśrodowisku jako coś w rodzaju Python [conda env:tensorflow].

Oktawiusz
źródło
6
Miałem ten sam problem co Thomas K, a rozwiązanie udostępnione przez Octaviusa również rozwiązało mój problem. Jest jednak jeden haczyk, jeśli masz wersję Anacondy w języku Python 3, wtedy zobaczysz tylko swoje aktywne aktywne środowisko i powinno ono mieć własny Jupyter. Ale jeśli zainstalujesz wersję Anaconda w Pythonie 2, może ona obsługiwać wszystkie środowiska.
rkmalaiya
6
możesz również wykonać „conda install nb_conda” również w wersji anaconda w Python2, aby zarządzać swoimi envami z samego Jupytera.
rkmalaiya
7
@rkmalaiya jest poprawny. Jeśli korzystasz z Miniconda3 lub Anaconda3, działaj conda install nb_condaw jednym ze źródeł Conda (z zainstalowanym notebookiem jupyter). Następnie możesz przełączyć jądra / envs conda w przeglądarce notatnika jupyter.
Harsha Manjunath,
1
Może zgłosić, że ta metoda działa we
wrześniu
13
To okropna odpowiedź, ponieważ zachęca użytkowników do instalowania Jupytera w każdej środowisku, co jest całkowicie niepotrzebne. Powodem, dla którego to działa, jest to ipykernel(co jest jedyną faktycznie potrzebną rzeczą), zależność jupyter.
mer
72

Musiałem uruchomić wszystkie polecenia wymienione w 3 najlepszych odpowiedziach, aby to zadziałało:

conda install jupyter
conda install nb_conda
conda install ipykernel
python -m ipykernel install --user --name mykernel
coolscitist
źródło
9
To też działało dla mnie, ale nie potrzebowałemconda install nb_conda
Ken Myers
3
Niesamowita destylacja!
Bao-Tin Hoang
1
Potrzebowałem tylko 3 pierwszych poleceń, aby pokazać jądro środowiska jako opcję, gdy uruchamiam się jupyter labw tym konkretnym środowisku
Igor Fobia
3
Pracowałem też dla mnie. Mój boże, frustrowanie było frustrujące.
Trevor Pa
4
Nie potrzebujesz nb_conda! ;)
Prayson W. Daniel
48

Po prostu uruchom conda install ipykernelw nowym środowisku, tylko wtedy dostaniesz jądro z tym środowiskiem. Działa to nawet wtedy, gdy masz różne wersje zainstalowane w każdym środowisku i nie instaluje ponownie notesu jupyter. Możesz uruchomić swój notatnik z dowolnego środowiska, w którym będzie można zobaczyć nowo dodane jądra.

rakesh
źródło
10
To najlepsza odpowiedź na styczeń 2018 r. Jupyter powinien automatycznie wykryć jądro podczas uruchamiania, jeśli po prostu conda install ipykernelznajdujesz się w środowisku Conda. W najgorszym przypadku możesz użyć python -m ipykernel install --user --name mykerneldo ręcznego wygenerowania jądra, ale nie chciałbyś tego robić, jeśli jest już automatycznie wykrywany lub pojawi się dwukrotnie na liście jądra.
Colllin
2
spowoduje to również zainstalowanie Jowisza i wszystkich jego zależności. Działa, ale jakoś nie jest optymalny
Quickbeam2k1
16

Podsumowanie (tldr)

Jeśli chcesz, aby jądro „python3” zawsze uruchamiało instalację Pythona ze środowiska, w którym zostało uruchomione, usuń jądro użytkownika „python3”, które ma pierwszeństwo przed tym, co ma obecne środowisko:

jupyter kernelspec remove python3

Pełne rozwiązanie

Zamierzam opublikować alternatywne i prostsze rozwiązanie dla następującego przypadku:

  • Utworzyłeś środowisko conda
  • W tym środowisku zainstalowano jupyter (który również instaluje ipykernel)
  • Po uruchomieniu polecenia jupyter notebooki utworzeniu nowego notesu poprzez kliknięcie „python3” w menu rozwijanym „Nowy” ten notebook wykonuje python ze środowiska podstawowego, a nie z bieżącego.
  • Chciałbyś, aby uruchomienie nowego notebooka z 'python3' w dowolnym środowisku uruchamiało wersję Pythona z tego środowiska, a NIE z bazy

Mam zamiar używać nazwy „test_env” dla środowiska do końca rozwiązania. Zauważ też, że „python3” to nazwa jądra.

Obecnie najczęściej głosowana odpowiedź działa, ale istnieje alternatywa. Mówi, aby wykonać następujące czynności:

python -m ipykernel install --user --name test_env --display-name "Python (test_env)"

To da ci możliwość korzystania ze środowiska test_env bez względu na to, z jakiego środowiska uruchomisz jupyter notebook. Jednak uruchomienie notebooka z „python3” nadal będzie korzystało z instalacji Pythona ze środowiska podstawowego.

Prawdopodobnie dzieje się tak, że istnieje jądro użytkownika python3. Uruchom polecenie, jupyter kernelspec listaby wyświetlić listę wszystkich środowisk. Na przykład, jeśli masz komputer Mac, otrzymasz następujące informacje (moja nazwa użytkownika to Ted).

python3       /Users/Ted/Library/Jupyter/kernels/python3

To, co robi tutaj Jupyter, to przeszukiwanie trzech różnych ścieżek w poszukiwaniu jąder. Przechodzi od użytkownika , do środowiska , do systemu . Zobacz ten dokument aby uzyskać więcej informacji na temat ścieżek, które wyszukuje dla każdego systemu operacyjnego.

Dwa powyższe jądra znajdują się na ścieżce użytkownika, co oznacza, że ​​będą one dostępne niezależnie od środowiska, z którego uruchamiany jest notatnik jupyter. Oznacza to również, że jeśli na poziomie środowiska istnieje inne jądro „python3”, nigdy nie będzie można uzyskać do niego dostępu.

Dla mnie bardziej sensowne jest, że wybranie jądra „python3” ze środowiska, z którego uruchomiłeś notebooka, powinno uruchomić Pythona z tego środowiska.

Możesz sprawdzić, czy masz inne środowisko „python3”, patrząc na ścieżkę wyszukiwania Env dla swojego systemu operacyjnego (patrz link do dokumentów powyżej). Dla mnie (na moim komputerze Mac) wydałem następujące polecenie:

 ls /Users/Ted/anaconda3/envs/test_env/share/jupyter/kernels

I rzeczywiście miałem tam wymienione jądro „python3”.

Dzięki temu komentarzowi do wydania GitHub (spójrz na pierwszą odpowiedź) możesz usunąć środowisko użytkownika „python3” za pomocą następującego polecenia:

jupyter kernelspec remove python3

Teraz, gdy uruchomisz jupyter kernelspec list, zakładając, że test_env jest nadal aktywny, otrzymasz:

python3       /Users/Ted/anaconda3/envs/test_env/share/jupyter/kernels/python3

Zauważ, że ta ścieżka znajduje się w katalogu test_env. Jeśli utworzysz nowe środowisko, zainstalujesz jupyter, aktywujesz je i wyświetlisz listę jąder, otrzymasz kolejne jądro „python3” znajdujące się na ścieżce środowiska.

Jądro użytkownika „python3” miało pierwszeństwo przed jakimkolwiek jądrem Env „python3”. Po usunięciu jądro aktywnego środowiska „python3” zostało ujawnione i można je było wybrać za każdym razem. Eliminuje to potrzebę ręcznego tworzenia jąder. Ma to również większy sens w zakresie tworzenia oprogramowania, w którym chciałoby się odizolować w jednym środowisku. Uruchamianie jądra innego niż środowisko hosta nie wydaje się naturalne.

Wydaje się również, że ten użytkownik „python3” nie jest domyślnie instalowany dla wszystkich, więc nie wszyscy mają do czynienia z tym problemem.

Ted Petrou
źródło
python -m ipykernel install --user --name test_env --display-name "Python (test_env)" działa jak urok. Dziękuję
slobodan.blazeski
12
    $ conda install nb_conda_kernels

(w środowisku conda, w którym uruchamiasz notatnik jupyter), wszystkie środowiska conda będą dostępne automatycznie. Aby uzyskać dostęp do innych środowisk, należy zainstalować odpowiednie jądra. Oto ref .

ohailolcat
źródło
Czy to nie podsumowuje stackoverflow.com/a/48349338/570918 ?
merv
To wygląda na najprostszy sposób.
Decula,
9

Dużo zmagamy się z tym problemem i oto, co nam odpowiada. Jeśli korzystasz z kanału conda-forge , ważne jest, aby upewnić się, że używasz zaktualizowanych pakietów conda-forge, nawet w Minicondaśrodowisku root.

Więc zainstaluj Miniconda , a następnie wykonaj:

conda config --add channels conda-forge --force
conda update --all  -y
conda install nb_conda_kernels -y
conda env create -f custom_env.yml -q --force
jupyter notebook

a twoje niestandardowe środowisko pojawi się w Jupyter jako dostępne jądro, o ile ipykernelbyło wymienione do instalacji w twoim custom_env.ymlpliku, jak w tym przykładzie:

name: bqplot
channels:
- conda-forge
- defaults
dependencies:
- python>=3.6
- bqplot
- ipykernel

Aby tylko udowodnić, że działa z wieloma niestandardowymi środowiskami, oto zrzut ekranu z systemu Windows:

wprowadź opis zdjęcia tutaj

Rich Signell
źródło
8

nb_conda_kernelsPakiet jest najlepszym sposobem korzystania jupyterz conda. Przy minimalnych zależnościach i konfiguracji pozwala używać innych środowisk conda z notebooka jupyter działającego w innym środowisku. Cytując swoją dokumentację :

Instalacja

Ten pakiet jest przeznaczony do zarządzania wyłącznie przy użyciu conda. Powinien być zainstalowany w środowisku, w którym uruchamiany jest Jupyter Notebook lub JupyterLab. To może być twoje baseśrodowisko conda, ale nie musi tak być. Na przykład, jeśli środowisko notebook_envzawiera pakiet notebooka, uruchomiłbyś się

conda install -n notebook_env nb_conda_kernels

Każde inne środowisko, do którego chcesz uzyskać dostęp w swoich notebookach, musi mieć zainstalowany odpowiedni pakiet jądra. Na przykład, aby uzyskać dostęp do środowiska Python, musi on mieć ipykernelpakiet; na przykład

conda install -n python_env ipykernel

Aby korzystać ze środowiska R, musi on mieć pakiet r-irkernel; na przykład

conda install -n r_env r-irkernel

W przypadku innych języków należy zainstalować odpowiadające im jądra .

Następnie wystarczy uruchomić serwer notebooka jupyter:

conda activate notebook_env  # only needed if you are not using the base environment for the server
# conda install jupyter # in case you have not installed it already
jupyter

wprowadź opis zdjęcia tutaj


Pomimo mnóstwa odpowiedzi i starań @ merv o ich poprawę, nadal trudno znaleźć dobrą. Zrobiłem ten CW, więc proszę głosować na górę lub poprawić!

jan-glx
źródło
7

Natrafiłem na ten sam problem, w którym moje nowe środowisko conda myenvnie mogło zostać wybrane jako jądro lub nowy notatnik. I biegniejupter notebook z env dała ten sam wynik.

Moje rozwiązanie i to, czego dowiedziałem się o tym, jak notebooki Jupyter rozpoznają enkopy Conda i jądra:

Instalowanie jupyter i ipython myenvz conda:

conda install -n myenv ipython jupyter

Następnie działam jupter notebookpoza środowiskiem env wymienionym myenvjako jądro wraz z moimi poprzednimi środowiskami.

Python [conda env:old]
Python [conda env:myenv]

Uruchamianie notebooka po aktywowaniu środowiska:

source activate myenv
jupyter notebook

ukrywa wszystkie moje inne jądra środowiska i pokazuje tylko moje jądra językowe:

python 2
python 3
R
Shri Samson
źródło
6

Działa to dla mnie w systemie Windows 10 i najnowszym rozwiązaniu:

1) Wejdź do tego środowiska conda (aktywuj swoją nazwę_env)

2) conda install -n twoja_nazwa_IP ipernern

3) python -m ipykernel install --user --name build_central --display-name "twoja_nazwa_nazwy”

(UWAGA: uwzględnij cudzysłowy wokół „twoja_nazwa_vv”, w kroku 3)

zły programista
źródło
4

Było to tak frustrujące, że moim problemem było to, że w nowo zbudowanym środowisku conda python36 jupyter odmówił załadowania „dna morskiego” - nawet jeśli dno morskie zostało zainstalowane w tym środowisku. Wydawało się, że jest w stanie zaimportować wiele innych plików z tego samego środowiska - na przykład numpy i pandy, ale po prostu nie ma dna morskiego. Próbowałem wielu poprawek sugerowanych tutaj i w innych wątkach bez powodzenia. Dopóki nie zdałem sobie sprawy, że Jupyter nie uruchomił Pythona jądra z tego środowiska, ale uruchomił pytona systemowego jako jądro. Chociaż przyzwoicie wyglądające jądro i kernel.json były już obecne w środowisku. Dopiero po przeczytaniu tej części dokumentacji ipython: https://ipython.readthedocs.io/en/latest/install/kernel_install.html#kernels-for-different-environments i użyciu następujących poleceń:

source activate other-env
python -m ipykernel install --user --name other-env --display-name "Python (other-env)"

Udało mi się wszystko dobrze załatwić. (Właściwie nie użyłem zmiennej —user).

Jednej rzeczy, której jeszcze nie wymyśliłem, to jak ustawić domyślnego Pythona na „Python (other-env)”. Obecnie istniejący plik .ipynb otwarty z ekranu głównego będzie używać systemowego pytona. Muszę użyć menu jądra „Zmień jądro”, aby wybrać python środowiska.

George J. Wright
źródło
4

Podczas gdy odpowiedź @ coolscitist działała dla mnie, istnieje również sposób, który nie zaśmieca środowiska jądra pełnym pakietem jupyter + deps. Jest to opisane w dokumentacji ipython i jest (podejrzewam) konieczne tylko wtedy, gdy uruchamiasz serwer notebooka w środowisku innym niż podstawowy.

conda activate name_of_your_kernel_env
conda install ipykernel
python -m ipykernel install --prefix=/home/your_username/.conda/envs/name_of_your_jupyter_server_env --name 'name_of_your_kernel_env'

Możesz sprawdzić, czy działa, używając

conda activate name_of_your_jupyter_server_env 
jupyter kernelspec list
jan-glx
źródło
1
właściwie aktualizacja jupytera i korzystanie conda install nb_conda_kernelsdziała lepiej.
jan-glx
Zauważ, że python -m ipykernel installjest to tradycyjna droga rejestracji env i działa dla innych env (nie Conda). Chodzi o nb_conda_kernelsto, że nie musisz tego robić ręcznie, dopóki instalujesz ipykernel.
merv
Tak! Zamieniłem ten komentarz w tę samodzielną odpowiedź .
jan-glx
2

Miałem podobny problem i znalazłem rozwiązanie, które działa na komputery Mac, Windows i Linux. Wymaga kilku kluczowych składników, które znajdują się w powyższej odpowiedzi:

Aby zobaczyć conda env w notatniku Jupyter, potrzebujesz:

  • następujący pakiet w twojej bazie env:
    conda install nb_conda

  • następujący pakiet w każdej tworzonej env:
    conda install ipykernel

  • sprawdź konfigurację jupyter_notebook_config.py
    pierwszego sprawdzania, czy masz jupyter_notebook_config.pylokalizację podaną przez, jupyter --paths
    jeśli nie istnieje, utwórz ją, uruchamiając polecenie jupyter notebook --generate-config
    add lub upewnij się, że:c.NotebookApp.kernel_spec_manager_class='nb_conda_kernels.manager.CondaKernelSpecManager'

Env, który możesz zobaczyć w swoim terminalu: wprowadź opis zdjęcia tutaj

W Jupyter Lab możesz zobaczyć tę samą env jak powyżej zarówno Notatnika, jak i Konsoli: wprowadź opis zdjęcia tutaj

Możesz wybrać env, gdy masz otwarty notatnik: wprowadź opis zdjęcia tutaj

Bezpiecznym sposobem jest utworzenie specyficznej env, z której uruchomisz przykładowąjupyter lab komendę env . Aktywuj swoje środowisko. Następnie dodaj przykład rozszerzenia jupyter lab przykład rozszerzenia jupyter lab . Potem możesz biec jupyter lab

Dr Fabien Tarrade
źródło
1

Postępuj zgodnie z instrukcjami w dokumentacji iPython, aby dodać różne środowiska conda do listy jąder do wyboru w Jupyter Notebook. Podsumowując, po instalacji ipykernelmusisz aktywować każde środowisko conda jeden po drugim w terminalu i uruchomić polecenie python -m ipykernel install --user --name myenv --display-name "Python (myenv)", gdzie myenvjest środowisko (jądro), które chcesz dodać.

Vivek Subramanian
źródło
1

Możliwy problem związany z kanałem

Miałem ten problem (ponownie) i okazało się, że zainstalowałem z kanału Conda-Forge ; usunięcie go i ponowna instalacja z kanału anakondy zamiast tego naprawiło to dla mnie.

Aktualizacja : ponownie miałem ten sam problem z nową env, tym razem instalowałem nb_conda_kernelsz kanału anakondy , ale mój jupyter_clientbył z kanału conda-forge . Odinstalowanie nb_conda_kernelsi ponowne zainstalowanie zaktualizowało to do kanału o wyższym priorytecie.

Upewnij się więc, że masz zainstalowane właściwe kanały :)

xyzzyqed
źródło
Wygląda na to, że niektóre rzeczy się pomieszały. jupyteri nb_conda_kernelspowinien być zainstalowany w jednym środowisku - tutaj zawsze uciekasz jupyter notebook. Nowe envs potrzebują tylko ipykernel, ale nie powinny być aktywowane podczas działania jupyter notebook.
merv
1
Wiem, że był na nowej maszynie.
xyzzyqed
1
W porządku. Zredagowałem twoją odpowiedź, głównie po to, by móc zmienić swój głos, ale także, aby wyjaśnić, co nazywasz kanałem conda (nic takiego - domyślne lub anakonda ). Jeśli wprowadzę w błąd, co się wydarzyło, możesz go dalej edytować.
merv
-1

W moim przypadku przy użyciu systemu Windows 10 i Conda 4.6.11, uruchamiając polecenia

conda install nb_conda

conda install -c conda-forge nb_conda_kernels

z terminala przy aktywnym środowisku nie wykonało zadania po otwarciu Jupytera z tego samego wiersza poleceń przy użyciu conda jupyter notebook.

Rozwiązaniem było najwyraźniej otwarcie Jupyter z Anaconda Navigator, przechodząc do mojego środowiska w środowiskach: Otwórz Anaconda Navigator, wybierz środowisko w środowiskach, naciśnij przycisk „Odtwórz” w wybranym środowisku i wybierz „otwórz za pomocą Jupyter Notebook”.

Środowiska w Anaconda Navigator do uruchamiania Jupyter z wybranego środowiska

albertopolis
źródło
1
Zajrzyj do dokumentacji dotyczącej używania jąder Conda. Uruchamiasz Jupytera z env, który ma Jupyter; instalujesz ipykernelwe wszystkich środowiskach, których chcesz używać w Jupyter jako jądra.
merv