Eu uso bastante um ambiente de desenvolvimento chamado Jupyter. Ele permite escrever, por exemplo, código em python e ao mesmo tempo colocar junto no mesmo texto a saída dos comandos, texto em markdown (similar à HTML), imagens etc. Contudo dependendo da versão do seu sistema operacional, o ambiente do Jupyter pode vir com somente um kernel. Kernel é o nome que o Jupyter dá para quais linguagens, ele suporta. Assim você precisa de um kernel para cada linguagem e, provavelmente, para cada versão dela também. Por exemplo, na imagem abaixo vemos que temos um kernel para Python 3. Ele vai utilizar o Python 3.x que for o padrão no seu computador. No meu caso é a versão 3.6. Se eu tiver as versões 3.5 e 3.6, será necessário customizar o kernel para que um chame o primeiro e outro para que chame o segundo. E se eu quiser utilizar o Python 2.x? Neste caso precisamos instalar um novo kernel que suporte a versão 2 do python. Os comandos abaixo foram testados no Ubuntu 16.04 (e proval...