No meu post sobre o HTTP2 mencionei que iria estudar HTTP2 construindo um servidor em python 3.5 explorando os recursos da biblioteca async/await.
Como eu uso Fedora em casa e como eu sei que por padrão há uma versão do python3 na distribuição, pensei que a versão 3.5 já estava disponível. Mas ao abrir o interpretador do python3 obtive a seguinte resposta:
python3
Python 3.4.3 (default, Mar 31 2016, 20:42:37)
[GCC 5.3.1 20151207 (Red Hat 5.3.1-2)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
Huuuum. Bad news. A versão embarcada no fedora é a 3.4.
Uma solução seria catar algum RPM ou repositório yum com a versão 3.5. Mas decidi voltar as origens e compilar do código fonte.
Assim, fui no site do Python e baixei o tar
Dai então foi usar os três passos clássicos configure/make/make install. No entanto, eu não quero misturar um python compilado manualmente com o provido pela distribuição. Desta forma eu evito conflitos de versões de binários, bibliotecas...
Assim, o passo configure foi modificado para prefixar um local de instalação:
./configure --prefix=/opt/python/3.5
Note que eu especifico no local onde vou instalar o python com sua versão. Desta forma, no futuro eu posso comparar implementações, performance e bugs usando como referência o prefixo do diretório - ou seja a versão - de onde o python foi instalado.
Caso você encontre algum erro no comando configure, use a caixa de comentários para eu tentar ajudar você. :D
Daí é executar os comandos make e make install
make
make install
Novamente, caso você encontre algum erro no comando configure, use a caixa de comentários para eu tentar ajudar você.
Agora é chamar o python 3.5 considerando o diretório que você prefixou:
/opt/python/3.5/bin/python3
Python 3.5.1 (default, Jun 7 2016, 23:17:41)
[GCC 5.3.1 20151207 (Red Hat 5.3.1-2)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
Perfeito, agora eu tenho o Python 3.5 na minha máquina pronto para o uso!