# Pyenv
Pyenv é uma ferramenta simples de gerenciamento de versão [[02 - Notas de literatura/Linguagem de programação Python|Python]] que permite alternar facilmente entre múltiplas versões [[02 - Notas de literatura/Linguagem de programação Python|Python]]. É particularmente útil ao trabalhar com projetos que exigem diferentes versões [[02 - Notas de literatura/Linguagem de programação Python|Python]]. É possível trabalhar com [[Ambientes virtuais em Python]] usando [[Pyenv]].
**:: Referência ::** [pyenv/pyenv: Simple Python version management](https://github.com/pyenv/pyenv)
# Instalação
Para instalar o `pyenv` use o seguinte comando no `Terminal` para distribuições Linux:
```bash
curl -fsSL https://pyenv.run | bash
```
Depois disso, é necessário configurar seu ambiente de shell para o `Pyenv`.
Primeiro, adicione os comandos ao `~/.bashrc` executando o seguinte em seu terminal:
```shell
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo '[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init - bash)"' >> ~/.bashrc
```
Em seguida, se você tiver `~/.profile`, `~/.bash_profile` ou `~/.bash_login`, adicione os comandos lá também. Se você não tiver nenhum desses, crie um `~/.profile` e adicione os comandos lá.
para adicionar ao `~/.profile`:
```shell
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.profile
echo '[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.profile
echo 'eval "$(pyenv init - bash)"' >> ~/.profile
```
para adicionar ao `~/.bash_profile`:
```shell
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo '[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(pyenv init - bash)"' >> ~/.bash_profile
```
# Uso
Pyenv oferece uma variedade de comandos para gerenciar versões [[02 - Notas de literatura/Linguagem de programação Python|Python]]. Aqui estão alguns dos mais comumente usados:
- **Listar versões Python disponíveis:** `pyenv install --list`
- **Instalar uma versão específica:** `pyenv install <version>` (ex: `pyenv install 3.9.2`)
- **Listar versões instaladas:** `pyenv versions` (a versão atualmente ativa é marcada com um asterisco)
- **Definir uma versão global do Python:** `pyenv global <version>` (define a versão [[02 - Notas de literatura/Linguagem de programação Python|Python]] padrão para novos shells)
- **Definir uma versão local do Python (para um projeto específico):** `pyenv local <version>` (cria um arquivo `.python-version` no diretório atual, alternando automaticamente para essa versão ao entrar no diretório)
- **Definir uma versão específica do shell:** `pyenv shell <version>` (isso é temporário e afeta apenas a sessão atual do shell)
- **Desinstalar uma versão:** `pyenv uninstall <version>` (ex: `pyenv uninstall 3.7.8`)
Para uma lista completa de comandos e opções, consulte a [documentação oficial de comandos do pyenv](https://github.com/pyenv/pyenv/blob/master/COMMANDS.md).
- [[Como usar o Pyenv]]