Skip to content

Configurando o Pyenv no Arch Linux

Fala galera, blz? De uns tempos pra cá notei que precisa aprender algo novo e comecei a estudar Python. Além disso, depois de 4 anos ininterruptos usando Debian, senti a necessidade de experimentar uma nova distro Linux e optei pelo Arch Linux, que já era algo que tinha pensado há tempos. Estou há quase um mês com Arch e estou achando sensacional. Depois de usar distros, como Ubuntu, Mint, ElementaryOS e sempre voltar para o Debian, semprei achei que seria difícil encontrar uma distro que me fizesse mudar de vez. Pois é, mudei para o Arch… Mas isso é assuntro pra outra hora…

Bom, quando comecei a aprender Python, ainda estava usando o Debian e não tive nenhuma dificuldade em configurar o pyenv. Mas quando migrei pro Arch, tive um pouco de trabalho. Segui a risca todas as instruções contidas no repositório oficial do pyenv. A instalação era feita sem nenhum problema aparente, mas era só eu tentar instalar uma versão do Python e páh… Installing Python-3.5.1...
ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?
. Fui lá tentar instalar a tal lib e vi que já estava instalada e a cada tentativa de instalação python pelo pyenv tinha o mesmo problema. Depois de umas horas fuçando consegui fazer funcionar e resolvi compartilhar a minha experiência e quem sabe ajudar alguém que esteja com o mesmo problema.

Para verificar se a openssl já está instalada:
pacman -Q | grep openssl

Antes de começar, você deve instalar os pacotes:
sudo pacman -S base-devel openssl zlib python-pyopenssl

Feito isso, então bora lá…

1 – Instalando o pyenv no Arch

Para instalar o pyenv no Arch, você pode usar o pacote contido no AUR (Arch User Repository) com o comando:
yaourt -S pyenv
ou a partir do repositório oficial clonando o repositório (de preferência no seu diretório home) com o seguinte comando:
git clone https://github.com/pyenv/pyenv.git ~/.pyenv

2 – Definindo variáveis de ambiente e Configurando o Shell

Para configurar o pyenv e acessarmos pelo terminal, é necessário acrescenar (como root) no final arquivo /etc/bash.bashrc as seguintes instruções:
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

Saia do shell, abra-o novamente e digite o comando:
pyenv
A saída será algo assim:
pyenv 1.1.3-5-g7dae197
Usage: pyenv <command> [<args>]
.......
See `pyenv help <command>' for information on a specific command.

Rode o comando abaixo para instalar uma versão do Python (testei com a 3.5.0):
pyenv install -v 3.5.0
E foi aqui que tive problemas. A solução apontada na página de problemas comuns com o pyenv era a de que se a lib openssl já tivesse instalada, era necessário “dizer” ao compilador aonde ela estava localizada:
CFLAGS=-I/usr/include/openssl \
LDFLAGS=-L/usr/lib64 \

Essa solução não funcionou no meu caso, pois além de “dizer” ao compilador aonde a openssl estava instalada, tive que passar a versão da lib da seguinte forma:
CFLAGS=-I/usr/include/openssl-1.0 \
LDFLAGS=-L/usr/lib64/openssl-1.0 \

Depois disso, fiz a instalação e funcionou:
pyenv install -v 3.5.0

Bom, é isso aí! Até a próxima!

Published inDicasDicas Python