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 si je lance Jupyter Notebook depuis le navigateur GUI ou depuis la ligne de commande dans le tensorflow
env, il n’y a qu’un kernel dans le menu appelé Python [Root]
, et Tensorflow ne peut pas être importé. Bien sûr, j’ai cliqué sur cette option plusieurs fois, enregistré le fichier, ré-ouvert, mais cela n’a pas aidé.
Curieusement, je peux voir les deux environnements lorsque j’ouvre l’onglet Conda
sur la première page de Jupyter. Mais lorsque j’ouvre l’onglet Files
et que j’essaie de new
un new
bloc-notes, je ne me retrouve qu’avec un seul kernel.
J’ai regardé cette question: Lier l’environnement Conda avec l’ordinateur portable Jupyter Mais il n’y a 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 devenir des kernelx automatiquement? (J’ai suivi https://ipython.readthedocs.io/en/stable/install/kernel_install.html pour configurer manuellement les kernelx, mais on m’a dit que ipykernel
était introuvable.)
Je ne pense pas que les autres réponses fonctionnent plus, car les condas ont cessé de définir automatiquement les environnements en tant que kernelx jupyter. Vous devez append manuellement des kernelx pour chaque environnement de la manière suivante:
source activate myenv python -m ipykernel install --user --name myenv --display-name "Python (myenv)"
Comme indiqué ici: http://ipython.readthedocs.io/en/stable/install/kernel_install.html#kernels-for-different-environments Voir aussi ce problème .
Addendum: Vous devriez pouvoir installer le paquet conda install nb_conda_kernels
avec conda install nb_conda_kernels
pour append automatiquement tous les environnements, voir https://github.com/Anaconda-Platform/nb_conda_kernels
Ce qui est ennuyeux, c’est que dans votre environnement tensorflow
, vous pouvez exécuter jupyter notebook
sans installer jupyter
dans cet environnement . Juste courir
(tensorflow) $ conda install jupyter
et l’environnement tensorflow
devrait maintenant être visible dans les Notebooks Jupyter démarrés dans n’importe lequel de vos environnements de conda
comme quelque chose comme Python [conda env:tensorflow]
.
Le commentaire de @HarshaManjunath mentionne que lorsque vous utilisez Anaconda3 (ou Miniconda3), vous devez installer nb_conda
dans l’environnement conda (en plus de jupyter
):
(py35) $ conda install nb_conda
Notez que cela ne fonctionne pas actuellement avec les environnements python 3.6 . L’information sur le paquet indique qu’il existe une version python 3.6, cela ne fonctionne pas encore.
$ conda info nb_conda ... nb_conda 2.0.0 py36_0 --------------------- file name : nb_conda-2.0.0-py36_0.tar.bz2 name : nb_conda version : 2.0.0 build ssortingng: py36_0 build number: 0 channel : defaults size : 30 KB arch : x86_64 date : 2016-12-20 license : BSD md5 : 24d433439f2fdd1d27e49c27688c2589 noarch : None platform : linux url : https://repo.continuum.io/pkgs/free/linux-64/nb_conda-2.0.0-py36_0.tar.bz2 dependencies: _nb_ext_conf nb_conda_kernels notebook >=4.2 python 3.6*
Pour utiliser python 3.6 dans un bloc-notes Jupyter, vous pouvez exécuter jupyter
partir de l’environnement python 3.6. Vous ne pourrez tout simplement pas voir ou passer à d’autres environnements depuis 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
Notez que j’utilise Python 3.6.1 dans ce cahier:
Il suffit de lancer conda install ipykernel
dans votre nouvel environnement, alors seulement vous obtiendrez un kernel avec cet env. Cela fonctionne même si différentes versions sont installées dans chaque envs et que l’installation du notebook jupyter n’est plus possible. Vous pouvez démarrer votre ordinateur portable depuis n’importe quel environnement où vous pourrez voir les nouveaux kernelx.
J’ai dû exécuter toutes les commandes mentionnées dans les 3 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
J’ai rencontré le même problème lorsque mon nouvel environnement de conda, myenv
, n’a pas pu être sélectionné comme kernel ou nouveau bloc-notes. Et exécuter jupter notebook
partir de l’env a donné le même résultat.
Ma solution et ce que j’ai appris sur la façon dont les ordinateurs portables Jupyter reconnaissent les conda-envs et les kernelx:
Installer jupyter et ipython sur myenv
avec conda:
conda install -n myenv ipython jupyter
Après cela, l’exécution de jupter notebook
dehors de tout env a indiqué myenv
tant que kernel avec mes environnements précédents.
Python [conda env:old] Python [conda env:myenv]
Exécution du notebook une fois l’environnement activé:
source activate myenv jupyter notebook
cache tous mes autres kernelx d’environnement et ne montre que les kernelx de mes langues:
python 2 python 3 R
Nous avons beaucoup lutté avec ce problème et voici ce qui fonctionne pour nous. Si vous utilisez le canal conda-forge , il est important de vous assurer que vous utilisez des packages mis à jour de conda-forge
, même dans votre environnement racine Miniconda
.
Alors installez Miniconda , puis faites:
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
et votre environnement personnalisé apparaîtra dans Jupyter en tant que kernel disponible, à condition que ipykernel
soit répertorié pour être installé dans votre fichier custom_env.yml
, comme cet exemple:
name: bqplot channels: - conda-forge - defaults dependencies: - python>=3.6 - bqplot - ipykernel
Juste pour prouver qu’il fonctionne avec un tas d’environnements personnalisés, voici une capture d’écran de Windows: