Jeg bruker IPython-notatbøker og vil gjerne kunne velge å opprette en 2.x eller 3.x python-notatbok i IPython.
Jeg hadde opprinnelig Anaconda. Med Anaconda måtte en global miljøvariabel endres for å velge hvilken versjon av python du vil ha, og deretter kunne IPython startes. Dette var ikke det jeg lette etter, så jeg avinstallerte Anaconda og har nå satt opp min egen installasjon ved hjelp av MacPorts og PiP. Det ser ut til at jeg fortsatt må bruke
port select --set python <python version>
for å veksle mellom python 2.x og 3.x. som ikke er bedre enn anaconda-løsningen.
Er det en måte å velge hvilken versjon av python du vil bruke etter at du har startet en IPython-notatbok, helst med min nåværende MacPorts-versjon?
Ideen her er å installere flere ipython
kjerner. Her er instruksjoner for anaconda. Hvis du ikke bruker anaconda, la jeg nylig til instruksjoner ved hjelp av rene virtualenvs.
Siden versjon 4.1.0 inkluderer anaconda en spesiell pakke nb_conda_kernels
som oppdager conda-miljøer med bærbare kjerner og registrerer dem automatisk. Dette gjør det like enkelt å bruke en ny python-versjon som å opprette nye conda-miljøer:
conda create -n py27 python=2.7 ipykernel
conda create -n py36 python=3.6 ipykernel
Etter en omstart av jupyter notebook er de nye kjernene tilgjengelige over det grafiske grensesnittet. Vær oppmerksom på at nye pakker må installeres eksplisitt i de nye miljøene. Avsnittet Administrere miljøer i conda's dokumenter gir ytterligere informasjon.
Brukere som ikke ønsker å bruke nb_conda_kernels
eller fortsatt bruker eldre versjoner av anaconda, kan bruke følgende trinn for å registrere ipython-kjerner manuelt.
konfigurer python2.7
-miljøet:
conda create -n py27 python=2.7
conda activate py27
conda install notebook ipykernel
ipython kernel install --user
konfigurer python3.6
-miljøet:
conda create -n py36 python=3.6
conda activate py36
conda install notebook ipykernel
ipython kernel install --user
Etter det skal du kunne velge mellom python2
og python3
når du oppretter en ny notisbok.
og python3
når du oppretter en ny notatbok i grensesnittet.
I tillegg kan du sende --name
og --display-name
alternativene til ipython kernel install
hvis du vil endre navnene på kjernene dine. Se ipython kernel install --help
for mer informasjon.
Med en aktuell versjon av Notebook/Jupyter kan du opprette en Python3-kjerne. Etter å ha startet en ny notatbokapplikasjon fra kommandolinjen med Python 2, bør du se en oppføring "Python 3" i rullegardinmenyen "Ny". Dette gir deg en notatbok som bruker Python 3. Så du kan ha to notatbøker side om side med forskjellige Python-versjoner.
Opprett denne katalogen: mkdir -p ~/.ipython / kjerner / python3
Opprett denne filen ~/.ipython/kernels/python3/kernel.json
med dette innholdet:
{
"display_name": "IPython (Python 3)",
"language": "python",
"argv": [
"python3",
"-c", "from IPython.kernel.zmq.kernelapp import main; main()",
"-f", "{connection_file}"
],
"codemirror_mode": {
"version": 2,
"name": "ipython"
}
}
Start den bærbare serveren på nytt.
Velg "Python 3" fra rullegardinmenyen "Ny".
Arbeid med en Python 3 Notebook
Velg "Python 2" fra rullegardinmenyen "Ny".
Arbeid med en Python 2 Notebook
En løsning er tilgjengelig som lar meg beholde MacPorts-installasjonen min ved å konfigurere Ipython kernelspec.
Forutsetninger:
For python 2.x:
$ cd /opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin
$ sudo ./ipython kernelspec install-self
For python 3.x:
$ cd /opt/local/Library/Frameworks/Python.framework/Versions/3.4/bin
$ sudo ./ipython kernelspec install-self
Nå kan du åpne en Ipython-notatbok og deretter velge en python 2.x eller en python 3.x-notatbok.
]1