web-dev-qa-db-fra.com

Lier l'environnement Conda avec Jupyter Notebook

J'essaie de créer un bon environnement pour faire des choses scientifiques avec du python. Pour ce faire, j'ai installé Jupyter & Miniconda.

Ensuite, je veux pouvoir utiliser différents environnements et les utiliser avec les cahiers Jupyter. J'ai donc créé deux envs personnalisés avec conda: py27 et py35.

> conda env list
# conda environments:
#
py27                     /Users/***/miniconda3/envs/py27
py35                     /Users/***/miniconda3/envs/py35
root                  *  /Users/***/miniconda3

Ensuite, sur mon cahier, j'ai deux noyaux python 2 et python 3. Dans un cahier, je reçois le texte suivant avec le noyau python3:

> import sys
> print(sys.executable)
/Users/***/miniconda3/envs/py35/bin/python

Et ceci avec le noyau python2:

> import sys
> print(sys.executable)
/usr/local/opt/python/bin/python2.7
  • Comment puis-je régler le sys.executable à miniconda env pour python2?
  • Comment puis-je lier un conda env avec un noyau de cahier?
  • Fait source activate py35 a un lien avec jupyter notebook?

Je pense que j'ai vraiment manqué quelque chose.

Merci tout le monde.

--- modifier

J'ai plusieurs jupyter bin:

> where jupyter
/usr/local/bin/jupyter
/usr/local/bin/jupyter
/Users/ThomasDehaeze/miniconda3/bin/jupyter

Je n'ai qu'un seul noyau ici /usr/local/share/jupyter/kernels/python2. Mais à l'intérieur de Jupyter, j'ai deux noyaux, python2 et python3. Où puis-je trouver l'autre?


J'ai modifié kernel.json de /usr/local/share/jupyter/kernels/python2:

{
 "display_name": "Python 2",
 "language": "python",
 "argv": [
  "/Users/***/miniconda3/envs/py27/bin/python2.7",
  "-m",
  "ipykernel",
  "-f",
  "{connection_file}"
 ]
}

Puis :

import sys
print(sys.executable)
/usr/local/opt/python/bin/python2.7

Donc rien n'a changé

42
Thomas Dehaeze

Pour Anaconda, je vous suggère une solution beaucoup plus simple et appropriée. jetez simplement un coup d’œil au paquet nb_conda_kernels .

Il vous permet de "gérer vos noyaux conda-environnement dans le Bloc-notes Jupyter".

Est devrait être inclus depuis Anaconda version 4.1.0, sinon utilisez simplement

conda install nb_conda

Maintenant, vous devriez être capable de tout gérer directement depuis l'interface Notebook.

77
5agado

En supposant que votre conda-env s'appelle cenv, il est aussi simple que:

    $ conda activate cenv
    (cenv)$ conda install ipykernel
    (cenv)$ ipython kernel install --user --name=<any_name_for_kernel>
    (cenv($ conda deactivate

Si vous redémarrez votre cahier/laboratoire jupyter, vous pourrez voir le nouveau noyau disponible.

PS: Si vous utilisez virtualenv, etc., les étapes ci-dessus sont valables.

11
Nihal Sangeeth

J'ai trouvé la solution. La configuration pour les noyaux où se trouve ici ~/Library/Jupyter/kernels/.

Puis j'ai modifié le kernel.json fichier et définissez le chemin correct sur python.

Maintenant ça marche.

5
Thomas Dehaeze

Je ne sais pas quoi d'autre m'a aidé, mais pour moi, il était crucial d'installer nb_conda_kernels in root conda environment. En essayant de l’installer dans un environnement conda spécifique, Jupyter Notebook n’a pas été en mesure d’utiliser un autre environnement conda que celui par défaut.

conda install -n root nb_conda_kernels

jupyter notebook
4
vedrano