Eu uso notebooks IPython e gostaria de poder escolher entre criar um notebook 2.x ou 3.x python em IPython.
Inicialmente eu tinha Anaconda. Com o Anaconda uma variável de ambiente global teve de ser alterada para seleccionar que versão de python quer e depois o IPython podia ser iniciado. Isto não é o que eu estava procurando, então eu desinstalei o Anaconda e agora eu configurei minha própria instalação usando MacPorts e PiP. Parece que eu ainda tenho que usar o
port select --set python <python version>
para alternar entre python 2.x e 3.x., que não é melhor que a solução anaconda.
Existe alguma forma de seleccionar que versão de python quer usar depois de iniciar um IPython notebook, de preferência com a minha versão actual do MacPorts?
A idéia aqui é instalar múltiplos kernels de "ipython". Aqui estão as instruções para o anaconda. Se você não está usando o anaconda, eu recentemente adicionei instruções usando virtualenvs puros.
Desde a versão 4.1.0, o anaconda inclui um pacote especial `nb_conda_kernels' que detecta ambientes conda com kernels de notebooks e os registra automaticamente. Isso torna a utilização de uma nova versão python tão fácil quanto a criação de novos ambientes conda:
conda create -n py27 python=2.7 ipykernel
conda create -n py36 python=3.6 ipykernel
Após um reinício do notebook jupyter, os novos kernels estão disponíveis através da interface gráfica. Note que os novos pacotes têm de ser explicitamente instalados nos novos ambientes. A seção Gerenciando ambientes em conda's docs fornece mais informações.
Os usuários que não querem utilizar o `nb_conda_kernels' ou ainda utilizar versões mais antigas do anaconda podem utilizar os seguintes passos para registrar manualmente os kernels do ipython.
configurar o ambiente python2.7
:
conda create -n py27 python=2.7
conda activate py27
conda install notebook ipykernel
ipython kernel install --user
configurar o ambiente python3.6
:
conda create -n py36 python=3.6
conda activate py36
conda install notebook ipykernel
ipython kernel install --user
Depois disso você deve ser capaz de escolher entre python2
.
e python3
ao criar um novo notebook na interface.
Adicionalmente você pode passar as opções --nome' e
--display-nome' para ipython kernel install' se você quiser mudar os nomes dos seus kernels. Veja
ipython kernel install --help` para mais informações.
Com uma versão atual do Notebook/Jupyter, você pode criar um kernel Python3. Após iniciar um novo aplicativo de notebook a partir da linha de comando com o Python 2 você deve ver uma entrada "Python 3" no menu suspenso "New". Isto dá-lhe um bloco de notas que usa o Python 3. Assim pode ter dois blocos de notas lado a lado com diferentes versões do Python.
Crie este diretório: mkdir -p ~/.ipython/kernels/python3
Crie este arquivo ~/.ipython/kernels/python3/kernel.json
com este conteúdo:
{
"display_name": "IPython (Python 3)",
"linguagem": "python",
"argv": [
"python3",
"-c", "do IPython.kernel.zmq.kernelapp import main; main()",
"-f", "{connection_file}"
],
"codemirror_mode": {
"versão": 2,
"nome": "ipython"
}
}
Reinicie o servidor do notebook.
Selecione "Python 3" no menu suspenso "Novo".
Trabalhar com um Caderno Python 3
Selecione "Python 2" no menu suspenso "Novo".
Trabalhar com um Caderno Python 2
Está disponível uma solução que me permite manter a instalação do meu MacPorts configurando o kernelspec do Ipython.
Requisitos:
Para o python 2.x:
$ cd /opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin
$ sudo ./ipython kernelspec install-self
Para o python 3.x:
$ cd /opt/local/Library/Frameworks/Python.framework/Versions/3.4/bin
$ sudo ./ipython kernelspec install-self
Agora você pode abrir um caderno Ipython e depois escolher um python 2.x ou um python 3.x notebook.
Escolhe a tua pitão2