2016-05-25 10 views
19

Ich versuche, eine gute Umgebung für einige wissenschaftliche Sachen mit Python zu setzen. Um dies zu tun, installierte ich Jupyter & Miniconda.Link Conda-Umgebung mit Jupyter-Notebook

Dann möchte ich verschiedene Umgebungen haben und sie mit Jupyter Notebooks verwenden können. Also habe ich zwei benutzerdefinierte envs mit conda: py27 und py35 erstellt.

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

Dann auf meinem Notebook habe ich zwei Kerne python 2 und python 3. die folgenden mit dem python3 Kernel Innerhalb eines Notebooks, die ich erhalten:

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

Und dies mit dem python2 kernel:

> import sys 
> print(sys.executable) 
/usr/local/opt/python/bin/python2.7 
  • Wie kann ich die sys.executable gesetzt env für python2 miniconda?
  • Wie kann ich eine Conda env mit einem Notebook-Kernel binden?
  • Haben source activate py35 eine Verbindung mit jupyter notebook?

Ich glaube, ich habe wirklich etwas verpasst.

Vielen Dank an alle.

--- bearbeiten

ich mehrere jupyter bin haben:

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

Ich habe nur einen Kernel hier /usr/local/share/jupyter/kernels/python2. Aber in Jupyter habe ich zwei Kerne, python2 und python3. Wo finde ich den anderen?


I modifizierte kernel.json von /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}" 
] 
} 

Und dann:

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

So hat sich nichts geändert

+1

Dies könnte helfen, können Sie wählen, in welcher Umgebung, um Ihren Kernel in ipython ausführen: https://groups.google.com/a/continuum.io/forum/m/#!topic/anaconda/RuSpZVPEio8 –

+0

Vielen Dank Ich werde in das schauen –

+0

Siehe meine Antwort hier: http://stackoverflow.com/questions/30492623/using-both-python-2-x-and-python-3-x-in-ipython-notebook - Sie wahrscheinlich möchte den Hinweis mit dem Argument '--name' verwenden. – cel

Antwort

44

Für Anaconda empfehle ich Ihnen eine viel einfachere und richtige Lösung; werfen Sie einfach einen Blick auf die nb_conda_kernels package.

Es ermöglicht Ihnen, "Ihre conda-basierten Kernel im Jupyter-Notebook zu verwalten".

sollte seit Anaconda Version 4.1 enthalten sein.0, sonst einfach verwenden

conda install nb_conda 

Jetzt sollten Sie in der Lage sein, alles direkt von der Notebook-Schnittstelle zu verwalten.

+5

Dieses Paket funktioniert großartig! Sie installieren es nur, während eine Umgebung aktiviert ist. Diese Umgebung wird sofort in der neuen Menüauswahl des Notebooks angezeigt. Sie müssen dies also mit jeder Umgebung tun, die Sie der Liste hinzufügen möchten. – omasoud

+0

Die Installation von nb_conda hat den Nachteil, die Conda-Umgebung zu überfluten. Gibt es eine Problemumgehung? – Quickbeam2k1

+0

@ Quickbeam2k1 müssen Sie nur in die Umgebung installieren, von der Sie das Jupyter-Notebook ausführen. Dadurch können Sie Jupyter in der Root-Umgebung installieren und Notebooks in verschiedenen anderen Umgebungen ausführen, ohne Jupyter in jedem installieren zu müssen. – shadowtalker

4

ich die Lösung gefunden. Das Setup für die Kernel war hier ~/Library/Jupyter/kernels/.

Dann habe ich die kernel.json Datei geändert und den richtigen Pfad zu Python festgelegt.

Jetzt funktioniert es.