567 votes

Les environnements Conda ne s'affichent pas dans le carnet de notes Jupyter

J'ai installé Anaconda (avec Python 2.7), et installé Tensorflow dans un environnement appelé tensorflow . Je peux importer Tensorflow avec succès dans cet environnement.

Le problème est que Jupyter Notebook ne reconnaît pas le nouvel environnement que je viens de créer. Peu importe que je démarre Jupyter Notebook à partir du Navigateur GUI ou de la ligne de commande sur el tensorflow env, il n'y a qu'un seul noyau dans le menu appelé Python [Root] et Tensorflow ne peuvent pas être importés. Bien sûr, j'ai cliqué sur cette option plusieurs fois, j'ai enregistré le fichier, je l'ai rouvert, mais cela n'a pas aidé.

Étrangement, je peux voir les deux environnements lorsque j'ouvre l'application Conda sur la page d'accueil de Jupyter. Mais lorsque j'ouvre le Files et essayez de new un ordinateur portable, je me retrouve toujours avec un seul noyau.

Je me suis penché sur cette question : Lier l'environnement Conda à Jupyter Notebook Mais il n'existe pas de répertoire tel que ~/Library/Jupyter/kernels sur mon ordinateur ! Ce répertoire Jupyter n'a qu'un seul sous-répertoire appelé runtime .

Je suis vraiment confus. Les environnements Conda sont-ils censés se transformer automatiquement en noyaux ? https://ipython.readthedocs.io/en/stable/install/kernel_install.html pour configurer manuellement les noyaux, mais on m'a dit que ipykernel n'a pas été trouvé).

57 votes

Exécuter conda install ipykernel dans cet environnement.

6 votes

conda install ipykernel semble s'installer jupyter dans l'environnement... Est-ce que je rate quelque chose ?

1 votes

Ipykernel doit probablement avoir jupyter comme dépendance ?

862voto

Andreas Mueller Points 2316

Je ne pense pas que les autres réponses fonctionnent encore, car conda a arrêté de configurer automatiquement les environnements en tant que noyaux jupyter. Vous devez ajouter manuellement des noyaux pour chaque environnement de la manière suivante :

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

Comme documenté ici : http://ipython.readthedocs.io/en/stable/install/kernel_install.html#kernels-for-different-environments Voir aussi cette question .

Addendum : Vous devriez être en mesure d'installer le nb_conda_kernels paquet avec conda install nb_conda_kernels pour ajouter tous les environnements automatiquement, voir https://github.com/Anaconda-Platform/nb_conda_kernels

47 votes

Est-il possible de signaler la solution la plus récente à ce jour ?

3 votes

Seulement ceci a fonctionné pour moi ! conda install nb_conda - n'a pas aidé. Merci !

0 votes

Cela a été la seule solution pour moi. Merci !

274voto

Steven C. Howell Points 3893

Si vos environnements ne s'affichent pas, vérifiez que vous avez bien installé

  • nb_conda_kernels dans l'environnement avec Jupyter
  • ipykernel dans l'environnement Python auquel vous voulez accéder

La documentation d'Anaconda déclare que

nb_conda_kernels doit être installé dans l'environnement à partir duquel vous exécutez Jupyter Notebook ou JupyterLab. Il peut s'agir de votre conda de base de base, mais ce n'est pas obligatoire. Par exemple, si l'environnement notebook_env contient le paquetage notebook, alors vous exécuterez

conda install -n notebook_env nb_conda_kernels

Tout autre environnement auquel vous souhaitez accéder dans vos ordinateurs portables doit avoir un paquetage de noyau approprié installé. Par exemple, pour accéder à un environnement Python, il faut que le paquetage ipykernel soit installé ; par ex.

conda install -n python_env ipykernel

Pour utiliser un environnement R, celui-ci doit disposer du paquetage r-irkernel ; par exemple

conda install -n r_env r-irkernel

Pour les autres langues, leurs noyaux correspondants doit être installé.

En plus de Python, l'installation des logiciels appropriés permet d'améliorer la qualité de vie des utilisateurs. *kernel Jupyter peut accéder aux noyaux à partir de une tonne d'autres langues y compris R , Julia , Scala/Spark , JavaScript , bash, Octave et même MATLAB .

Notez qu'au moment de la publication initiale de cet article, il y avait une cause possible de nb_conda ne supporte pas encore les environnements Python 3.6 .

Si les autres solutions ne permettent pas à Jupyter de reconnaître d'autres environnements conda, vous pouvez toujours installer et exécuter jupyter à partir d'un environnement spécifique. Cependant, il se peut que vous ne puissiez pas voir ou passer à d'autres environnements à partir de 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

Remarquez que j'utilise Python 3.6.1 dans ce notebook : enter image description here

Notez que si vous faites cela avec de nombreux environnements, l'espace de stockage supplémentaire résultant de l'installation de Jupyter dans chaque environnement peut être indésirable (selon votre système).

0 votes

Bonjour. Désolé d'ouvrir à nouveau ce fil de discussion. Cependant, j'ai essayé tout ce qui est conseillé ici et je ne vois toujours pas l'environnement tensorflow dans jupyter. J'ai installé jupyter dans l'environnement tensorflow. J'ai installé python 3.6.1. J'ai essayé d'installer conda nb_conda mais cela dit conflit avec py3.6. Donc, cela n'a pas été installé, mais tout le reste a été essayé et ne semble pas fonctionner. Un conseil ?

0 votes

Ok. J'ai vérifié à nouveau. Mon problème est que mon jupyter, lorsqu'il est ouvert avec le noyau Python 3, ne peut importer aucun module. Je ne suis pas sûr de la raison de cette situation. Et il ne montre pas non plus les autres envois.

0 votes

@Baktaawar J'ai remarqué la même erreur. Je voulais étoffer cette réponse mais je me suis heurté à cela et je n'ai pas eu le temps de le résoudre. Je pense que c'est un bogue qui devrait être signalé comme une question git.

123voto

Octavius Points 949

Ce qui est ennuyeux, c'est que dans votre tensorflow vous pouvez exécuter jupyter notebook sans installer jupyter dans cet environnement . Il suffit de courir

(tensorflow) $ conda install jupyter

et le tensorflow devrait maintenant être visible dans les Jupyter Notebooks démarrés dans n'importe lequel de vos conda comme quelque chose comme Python [conda env:tensorflow] .

6 votes

J'ai eu le même problème que Thomas K, et la solution partagée par Octavius a également résolu mon problème. Cependant, il y a un hic, si vous avez la version Python 3 d'Anaconda, alors vous ne pourrez voir que votre environnement actif actuel, et il devrait avoir son propre Jupyter. Mais si vous installez la version Python 2 d'Anaconda, il peut gérer tous les environnements.

6 votes

Vous pouvez également faire "conda install nb_conda" dans la version Python2 d'anaconda pour gérer vos environnements à partir de Jupyter lui-même.

7 votes

@rkmalaiya a raison. Si vous utilisez Miniconda3 ou Anaconda3, effectuez les opérations suivantes conda install nb_conda dans l'un de vos environnements conda sourcés (qui a jupyter notebook installé). Vous pouvez alors changer de noyau/environnement conda dans le navigateur de jupyter notebook.

115voto

coolscitist Points 505

J'ai dû exécuter toutes les commandes mentionnées dans les trois premières réponses pour que cela fonctionne :

conda install jupyter
conda install nb_conda
conda install ipykernel
python -m ipykernel install --user --name mykernel

12 votes

C'est ce qui a fonctionné pour moi aussi, mais je n'ai pas eu besoin de conda install nb_conda

7 votes

Une distillation étonnante !

1 votes

J'avais juste besoin des 3 premières commandes pour afficher le noyau d'environnement en tant qu'option lorsque j'exécute jupyter lab dans cet environnement spécifique

64voto

rakesh Points 1675

Il suffit de courir conda install ipykernel dans votre nouvel environnement, alors seulement vous obtiendrez un noyau avec cet environnement. Cela fonctionne même si vous avez des versions différentes installées dans chaque environnement et cela n'installe pas à nouveau jupyter notebook. Vous pouvez lancer votre notebook depuis n'importe quel environnement et vous pourrez voir les nouveaux noyaux ajoutés.

16 votes

C'est la meilleure réponse en date de janvier 2018. Jupyter devrait auto-découvrir votre noyau au démarrage si vous avez simplement conda install ipykernel dans votre environnement Conda. Dans le pire des cas, vous pouvez utiliser python -m ipykernel install --user --name mykernel pour générer manuellement le noyau, mais vous ne voudriez pas faire cela s'il est déjà auto-découvert, ou il apparaîtra deux fois dans la liste des noyaux.

2 votes

Cela installera également Jupiter et toutes ses dépendances. Cela fonctionne mais ce n'est pas optimal.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X