Les environnements Conda n'apparaissent pas dans le carnet de notes de 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 le carnet Jupyter ne reconnaît pas le nouvel environnement que je viens de créer. Peu importe que je démarre le bloc-notes de Jupyter à partir du gui Navigator ou de la ligne de commande dans le tensorflow
env, il n'y a qu'un seul noyau dans le menu appelé Python [Root]
, et Tensorflow ne peut pas être importé. Bien sûr, j'ai cliqué sur cette option plusieurs fois, fichier sauvegardé, rouvert, mais cela n'a pas aidé.
étrangement, je peux voir les deux environnements quand j'ouvre l'onglet Conda
sur la première page de Jupyter. Mais quand j'ouvre l'onglet Files
, et que j'essaie de new
un carnet, je finis toujours avec un seul noyau.
j'ai regardé cette question:
relier L'environnement de Conda avec le carnet de notes de 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 sous-répertoire appelé runtime
.
je suis vraiment confus. Les environnements Conda sont-ils censés devenir des noyaux automatiquement? (J'ai suivi https://ipython.readthedocs.io/en/stable/install/kernel_install.html pour configurer manuellement les noyaux, mais on lui a dit que ipykernel
n'a pas été trouvé.)
7 réponses
Je ne pense pas que les autres réponses fonctionnent plus, car conda a arrêté de configurer automatiquement des environnements comme des noyaux jupyter. Vous devez ajouter manuellement les 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 ce numéro .
Addendum:
Vous devrait pouvoir installer le paquet nb_conda_kernels
avec conda install nb_conda_kernels
pour ajouter automatiquement tous les environnements, voir https://github.com/Anaconda-Platform/nb_conda_kernels
la chose ennuyante est que dans votre tensorflow
environnement, vous pouvez exécuter jupyter notebook
sans installer jupyter
dans cet environnement . Il suffit de lancer
(tensorflow) $ conda install jupyter
et l'environnement tensorflow
devraient maintenant être visibles dans les Notebooks de Jupyter commencés dans l'un de vos environnements conda
comme quelque chose comme Python [conda env:tensorflow]
.
@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 ce ne fonctionne pas actuellement avec les environnements Python 3.6 . L'info pour le paquet dit qu'il y a une version Python 3.6, ça ne marche 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 string: 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 carnet Jupyter, vous pouvez exécuter jupyter
depuis l'environnement Python 3.6. Vous ne serez tout simplement pas en mesure de voir ou de 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
il suffit d'exécuter conda install ipykernel
dans votre nouvel Environnement, seulement alors vous obtiendrez un noyau avec cet env. Cela fonctionne même si vous avez différentes versions installées dans chaque envs et il n'installe pas Jupyter ordinateur portable à nouveau. Vous pouvez démarrer votre ordinateur portable à partir de n'importe quel env vous serez en mesure de voir les noyaux nouvellement ajoutés.
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é ce même problème où mon nouvel environnement conda, myenv
, ne pouvait pas être sélectionné comme noyau ou nouveau bloc-notes. Et l'exécution jupter notebook
de l'intérieur de l'env a donné le même résultat.
Ma solution, et ce que j'ai appris sur la façon Jupyter cahiers reconnaît conda-envs et amandes de palmiste:
installant jupyter et ipython à myenv
avec conda:
conda install -n myenv ipython jupyter
après cela, en cours d'exécution jupter notebook
en dehors de n'importe quel env répertorié myenv
comme un noyau avec mes environnements précédents.
Python [conda env:old]
Python [conda env:myenv]
exécuter le bloc-notes une fois que j'ai activé l'environnement:
source activate myenv
jupyter notebook
cache tous mes autres noyaux d'environnement et ne montre que mes noyaux de langue:
python 2
python 3
R
nous avons beaucoup lutté avec cette question, et voici ce qui fonctionne pour nous. Si vous utilisez le canal conda-forge , il est important de vous assurer que vous utilisez les paquets mis à jour de conda-forge
, même dans votre environnement racine Miniconda
.
donc installer Miniconda , puis faire:
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 comme un noyau, aussi longtemps que ipykernel
était listé pour l'installation dans votre fichier custom_env.yml
, comme dans cet exemple:
name: bqplot
channels:
- conda-forge
- defaults
dependencies:
- python>=3.6
- bqplot
- ipykernel
juste pour le prouver en travaillant avec un tas d'environnements personnalisés, voici une capture d'écran de Windows: