Essa é uma revisão anterior do documento!
Tabela de conteúdos
Gerencie versões e ambientes virtuais do python com pyenv
Uma ferramenta interessante para lidar com as inúmeras versões do python e deixar seus projetos bem isolados da versão do python de seu sistema é o pyenv.
O que é o pyenv?
Como o próprio projeto diz,
Simple Python Version Management: pyenv
Simples gerenciador de versão do python (tradução livre minha). Ele pode se instalar em sua home e temos a possibilidade de escolher quais versões do python instalar, montar um ambiente virtual com uma versão específica do python escolher globalmente a versão desejada ou localmente qual ambiente virtual usar ou a versão, isolando assim o python nativo de sua distro.
Instalação
Vamos inicialmente instalar as dependências para que o python possa ser compilado em seu sistema, no caso do Debian podemos usar a seguinte linha, precisará ter privilégios de superusuário para tal
apt install build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev \ libsqlite3-dev curl git libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev \ libffi-dev liblzma-dev
no Arch linux, também como superusuário
pacman -S --needed base-devel openssl zlib xz tk
Já no GuixSD teremos que emular um shell com as dependências
guix shell -C --emulate-fhs --network --preserve=^SSL_CERT --preserve=^HOME \ --share=$SSL_CERT_DIR --share=/etc/ssl/certs/ --share=$HOME/tmp=$HOME coreutils \ bash wget curl vim git sed grep gawk tar gzip gcc-toolchain pkg-config python\ findutils make zlib openssl bzip2 ncurses libffi readline sqlite xz -- bash
o trecho --share=$HOME/tmp=$HOME especifica que no shell emulado a pasta home estará dentro de um diertório tmp na pasta pessoal, isso é opcional.
Agora é só usar o instalador automático
curl https://pyenv.run | bash