Uso i quaderni IPython e vorrei essere in grado di selezionare per creare un quaderno python 2.x o 3.x in IPython.
Inizialmente avevo Anaconda. Con Anaconda una variabile d'ambiente globale doveva essere cambiata per selezionare quale versione di python vuoi e poi IPython poteva essere avviato. Questo non è quello che stavo cercando, quindi ho disinstallato Anaconda e ora ho impostato la mia installazione usando MacPorts e PiP. Sembra che io debba ancora usare
port select --set python <python version>
per passare da python 2.x a 3.x. che non è meglio della soluzione di Anaconda.
C'è un modo per selezionare quale versione di python vuoi usare dopo aver avviato un notebook IPython, preferibilmente con la mia attuale build MacPorts?
L'idea qui è di installare più kernel ipython
. Qui ci sono le istruzioni per anaconda. Se non state usando anaconda, ho recentemente aggiunto istruzioni usando virtualenvs puri.
Dalla versione 4.1.0, anaconda include un pacchetto speciale nb_conda_kernels
che rileva gli ambienti conda con kernel per notebook e li registra automaticamente. Questo rende l'utilizzo di una nuova versione di python facile come la creazione di nuovi ambienti conda:
conda create -n py27 python=2.7 ipykernel
conda create -n py36 python=3.6 ipykernel
Dopo un riavvio di jupyter notebook, i nuovi kernel sono disponibili nell'interfaccia grafica. Si noti che i nuovi pacchetti devono essere esplicitamente installati nei nuovi ambienti. La sezione Managing environments in conda's docs fornisce ulteriori informazioni.
Gli utenti che non vogliono usare nb_conda_kernels
o che usano ancora vecchie versioni di anaconda possono usare i seguenti passi per registrare manualmente i kernel ipython.
configurare l'ambiente python2.7
:
conda create -n py27 python=2.7
conda activate py27
conda install notebook ipykernel
ipython kernel install --user
configurare l'ambiente python3.6
:
conda create -n py36 python=3.6
conda activate py36
conda install notebook ipykernel
ipython kernel install --user
Dopo di che si dovrebbe essere in grado di scegliere tra python2 e
python3` quando si crea un nuovo blocco note nell'interfaccia.
Inoltre puoi passare le opzioni --name
e --display-name
a ipython kernel install
se vuoi cambiare i nomi dei tuoi kernel. Vedere ipython kernel install --help
per maggiori informazioni.
Con una versione corrente di Notebook/Jupyter, potete creare un kernel Python3. Dopo aver avviato una nuova applicazione notebook dalla linea di comando con Python 2 dovreste vedere una voce "Python 3" nel menu a discesa "New". Questo ti dà un notebook che usa Python 3. Così puoi avere due notebook fianco a fianco con differenti versioni di Python.
Creare questa directory: mkdir -p ~/.ipython/kernels/python3
.
Creare questo file ~/.ipython/kernels/python3/kernel.json
con questo contenuto:
{
"display_name": "IPython (Python 3)",
"language": "python",
"argv": [
"python3",
"-c", "from IPython.kernel.zmq.kernelapp import main; main()",
"-f", "{connection_file}"
],
"codemirror_mode": {
"versione": 2,
"nome": "ipython"
}
}
Riavviare il server del notebook.
Seleziona "Python 3" dal menu a tendina "New".
Lavorare con un notebook Python 3
Seleziona "Python 2" dal menu a tendina "Nuovo".
Lavora con un quaderno Python 2
È disponibile una soluzione che mi permette di mantenere la mia installazione di MacPorts configurando il kernelspec di Ipython.
Requisiti:
Per python 2.x:
$ cd /opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin
$ sudo ./ipython kernelspec install-self
Per python 3.x:
$ cd /opt/local/Library/Frameworks/Python.framework/Versions/3.4/bin
$ sudo ./ipython kernelspec install-self
Ora puoi aprire un quaderno Ipython e poi scegliere un quaderno python 2.x o python 3.x.