├── COMMANDS.md └── README.md /COMMANDS.md: -------------------------------------------------------------------------------- 1 | # Comandos de referência 2 | 3 | Assim como o `git`, o `pyenv` utiliza subcomandos que são baseados no primeiro argumento. 4 | 5 | Os subcomandos mais comuns são: 6 | 7 | * [`pyenv commands`](#pyenv-commands) 8 | * [`pyenv local`](#pyenv-local) 9 | * [`pyenv global`](#pyenv-global) 10 | * [`pyenv shell`](#pyenv-shell) 11 | * [`pyenv install`](#pyenv-install) 12 | * [`pyenv uninstall`](#pyenv-uninstall) 13 | * [`pyenv rehash`](#pyenv-rehash) 14 | * [`pyenv version`](#pyenv-version) 15 | * [`pyenv versions`](#pyenv-versions) 16 | * [`pyenv which`](#pyenv-which) 17 | * [`pyenv whence`](#pyenv-whence) 18 | 19 | 20 | ## `pyenv commands` 21 | 22 | Listagem de todos os comandos pyenv disponíveis. 23 | 24 | ## `pyenv local` 25 | 26 | Define a versão do Python que rodará no local específico da aplicação, escrevendo o nome da versão como um arquivo `.python-version` no diretório atual. Esta versão sobrescreverá a versão global, e poderá substituir qualquer variável ambiente `PYENV_VERSION` configurada por padrão ou com o comando `pyenv shell`. 27 | 28 | $ pyenv local 2.7.6 29 | 30 | Quando executado sem um número de versão, o `pyenv local` utiliza a versão atualmente configurada para olocal. Você também pode desabilitar a versão local: 31 | 32 | $ pyenv local --unset 33 | 34 | Versões antigas do pyenv armazenavam especificações da versão local em um arquivo chamado `.pyenv-version`. Para ter compatibilidade com versões anteriores, o pyenv lê uma versão local especificada em um arquivo `.pyenv-version`, mas um arquivo`.python-version` no mesmo diretório terá precedência. 35 | 36 | 37 | ### `pyenv local` (avançado) 38 | 39 | Você pode especificar múltiplas versões Python para um mesmo local de uma única vez. 40 | 41 | Imagine que você tenha duas versões do Python, a 2.7.6 e a 3.3.3. Se você preferir a 2.7.6 em relação a 3.3.3 por exemplo: 42 | 43 | $ pyenv local 2.7.6 3.3.3 44 | $ pyenv versions 45 | system 46 | * 2.7.6 (set by /Users/yyuu/path/to/project/.python-version) 47 | * 3.3.3 (set by /Users/yyuu/path/to/project/.python-version) 48 | $ python --version 49 | Python 2.7.6 50 | $ python2.7 --version 51 | Python 2.7.6 52 | $ python3.3 --version 53 | Python 3.3.3 54 | 55 | Ou, se você preferir a 3.3.3 em relação a 2.7.6: 56 | 57 | $ pyenv local 3.3.3 2.7.6 58 | $ pyenv versions 59 | system 60 | * 2.7.6 (set by /Users/yyuu/path/to/project/.python-version) 61 | * 3.3.3 (set by /Users/yyuu/path/to/project/.python-version) 62 | venv27 63 | $ python --version 64 | Python 3.3.3 65 | $ python2.7 --version 66 | Python 2.7.6 67 | $ python3.3 --version 68 | Python 3.3.3 69 | 70 | 71 | ## `pyenv global` 72 | 73 | Define a versão global do Python para ser utilizada em todos os shells, escrevendo o nome da versão no arquivo `~/.pyenv/version`. Esta versão pode ser sobrescrita para uma aplicação específica com `.python-version`, ou defininda na variável ambiente `PYENV_VERSION`. 74 | 75 | $ pyenv global 2.7.6 76 | 77 | A nome da versão especial `system` diz para o pyenv utilizar o sistema Python (detectado por sua busca no `$PATH`). 78 | 79 | Quando executado sem um número de versão, o `pyenv global` adotará a configuração de versão global atual. 80 | 81 | ### `pyenv global` (avançado) 82 | 83 | Você pode especificar múltiplas versões para uma versão global do Python, de uma única vez. 84 | 85 | Imagine que você tenhas as seguintes versões do Python, a 2.7.6 e a 3.3.3. Se você preferir a 2.7.6 em relação a 3.3.3, por exemplo: 86 | 87 | $ pyenv global 2.7.6 3.3.3 88 | $ pyenv versions 89 | system 90 | * 2.7.6 (set by /Users/yyuu/.pyenv/version) 91 | * 3.3.3 (set by /Users/yyuu/.pyenv/version) 92 | $ python --version 93 | Python 2.7.6 94 | $ python2.7 --version 95 | Python 2.7.6 96 | $ python3.3 --version 97 | Python 3.3.3 98 | 99 | Ou, se você preferir a 3.3.3 em relação a 2.7.6: 100 | 101 | $ pyenv global 3.3.3 2.7.6 102 | $ pyenv versions 103 | system 104 | * 2.7.6 (set by /Users/yyuu/.pyenv/version) 105 | * 3.3.3 (set by /Users/yyuu/.pyenv/version) 106 | venv27 107 | $ python --version 108 | Python 3.3.3 109 | $ python2.7 --version 110 | Python 2.7.6 111 | $ python3.3 --version 112 | Python 3.3.3 113 | 114 | 115 | ## `pyenv shell` 116 | 117 | Define uma versão específica para o shell do Python definido na configuração da variável de ambiente `PYENV_VERSION`. Esta versão subtituirá as versões específicas do aplicativo e a versão global. 118 | 119 | $ pyenv shell pypy-2.2.1 120 | 121 | Quando for executado sem um número de versão, o `pyenv shell` utilizará o valor da versão atual da `PYENV_VERSION`. Você também pode desabilitar a versão do SHELL: 122 | 123 | $ pyenv shell --unset 124 | 125 | Observe que você precisará da integração do shell dos pyenvs ativados (passo 3 das instruções de instalação) para utilizar este comando. Se você preferir não utilizar esta integração, você pode simplesmente definir o `PYENV_VERSION` assim: 126 | 127 | $ export PYENV_VERSION=pypy-2.2.1 128 | 129 | ### `pyenv shell` (avançado) 130 | 131 | Você pode definir múltiplas versões do `PYENV_VERSION`, ao mesmo tempo. 132 | 133 | Imagine que você tem duas versões do python, a 2.7.6 e a 3.3.3. Se você preferir a 2.7.6 em relação a 3.3.3, faça: 134 | 135 | $ pyenv shell 2.7.6 3.3.3 136 | $ pyenv versions 137 | system 138 | * 2.7.6 (set by PYENV_VERSION environment variable) 139 | * 3.3.3 (set by PYENV_VERSION environment variable) 140 | $ python --version 141 | Python 2.7.6 142 | $ python2.7 --version 143 | Python 2.7.6 144 | $ python3.3 --version 145 | Python 3.3.3 146 | 147 | Ou, se você preferir a 3.3.3 em relação a 2.7.6: 148 | 149 | $ pyenv shell 3.3.3 2.7.6 150 | $ pyenv versions 151 | system 152 | * 2.7.6 (set by PYENV_VERSION environment variable) 153 | * 3.3.3 (set by PYENV_VERSION environment variable) 154 | venv27 155 | $ python --version 156 | Python 3.3.3 157 | $ python2.7 --version 158 | Python 2.7.6 159 | $ python3.3 --version 160 | Python 3.3.3 161 | 162 | 163 | ## `pyenv install` 164 | 165 | Instala uma versão do Python (using [`python-build`](https://github.com/yyuu/pyenv/tree/master/plugins/python-build)). 166 | 167 | Uso: pyenv install [-f] [-kvp] 168 | pyenv install [-f] [-kvp] 169 | pyenv install -l|--list 170 | 171 | -l/--list Lista todas as versões disponíveis 172 | -f/--force Instala a versão mesmo que ela já esteja instalada 173 | -s/--skip-existing Ignora a instalação se aquela versão já estiver instalada 174 | 175 | Opções do python-build: 176 | 177 | -k/--keep Manter a árvores do código em $PYENV_BUILD_ROOT após a instalação 178 | (por padrão em $PYENV_ROOT/sources) 179 | -v/--verbose Modo detalhado: mostra o status da compilação para a saída padrão (stdout) 180 | -p/--patch Aplica um patch do stdin antes da compilação 181 | -g/--debug Cria uma versão de depuração 182 | 183 | Para listar todas as versões disponíveis do Python, incluindo o Anaconda, Jython, pypy, e o stackless, utilize: 184 | 185 | $ pyenv install --list 186 | 187 | Em seguida instale as versões desejadas: 188 | 189 | $ pyenv install 2.7.6 190 | $ pyenv install 2.6.8 191 | $ pyenv versions 192 | system 193 | 2.6.8 194 | * 2.7.6 (set by /home/yyuu/.pyenv/version) 195 | 196 | ## `pyenv uninstall` 197 | 198 | Remove uma versão específica do Python. 199 | 200 | Uso: pyenv uninstall [-f|--force] 201 | 202 | -f Tenta remover a versão especificada sem solicitar confirmação do usuário. 203 | Se a versão não existir, não será exibida mensagem de erro. 204 | 205 | 206 | ## `pyenv rehash` 207 | 208 | Instala o shims para todas as versões de binários do Python encontrados pelo pyenv (por exemplo, 209 | `~/.pyenv/versions/*/bin/*`). Execute este comando depois de instalar uma nova versão do Python, ou instalar um gerenciador de pacotes que ofereça binários. 210 | 211 | $ pyenv rehash 212 | 213 | 214 | ## `pyenv version` 215 | 216 | Mostra a versão atual (ativa) do Python, junto com as informações já definidas. 217 | 218 | $ pyenv version 219 | 2.7.6 (set by /home/yyuu/.pyenv/version) 220 | 221 | 222 | ## `pyenv versions` 223 | 224 | Lista todas as versões conhecidas do Python, e mostra um asterisco junto a versão ativa. 225 | 226 | $ pyenv versions 227 | 2.5.6 228 | 2.6.8 229 | * 2.7.6 (set by /home/yyuu/.pyenv/version) 230 | 3.3.3 231 | jython-2.5.3 232 | pypy-2.2.1 233 | 234 | 235 | ## `pyenv which` 236 | 237 | Mostra o caminho completo para o executável que pyenv irá chamar quando você digitar um comando específico. 238 | 239 | $ pyenv which python3.3 240 | /home/yyuu/.pyenv/versions/3.3.3/bin/python3.3 241 | 242 | 243 | ## `pyenv whence` 244 | 245 | Lista todas as versões instaladas do Python com o comando específico. 246 | 247 | $ pyenv whence 2to3 248 | 2.6.8 249 | 2.7.6 250 | 3.3.3 251 | 252 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Gerenciador de Versões Python Simples: pyenv 2 | 3 | [![Participe do chat em https://gitter.im/yyuu/pyenv](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/yyuu/pyenv?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) 4 | 5 | [![Build Status](https://travis-ci.org/yyuu/pyenv.svg?branch=master)](https://travis-ci.org/yyuu/pyenv) 6 | 7 | > Tradução da [documentação oficial do pyenv](https://github.com/yyuu/pyenv) 8 | 9 | O pyenv permite que vocẽ alterne facilmente entre múltiplas versões do Python. É simples, não-obtrusivo e segue a tradição do UNIX de fazer apenas uma coisa e fazê-la bem feita. 10 | 11 | Esse projeto foi feito a partir de um _fork_ do [rbenv](https://github.com/rbenv/rbenv) e do 12 | [ruby-build](https://github.com/rbenv/ruby-build), modificando-os para Python. 13 | 14 | ![Screenshot](https://i.gyazo.com/699a58927b77e46e71cd674c7fc7a78d.png) 15 | 16 | 17 | ### O que o pyenv _faz…_ 18 | 19 | * Permite que você **modifique a versão global do Python** de cada usuário. 20 | * Oferece suporte para **versões de Python por projeto**. 21 | * Permite que você **sobrescreva a versão do Python** com uma variável de ambiente 22 | * Busca comandos em **diferentes versões do Python de uma só vez**. Isso pode ser útil para rodar testes em múltiplas versões do Python com [tox](https://pypi.python.org/pypi/tox). 23 | 24 | 25 | ### Diferentemente do pythonbrew e pythonz, o pyenv _não faz…_ 26 | 27 | * **Depende do próprio Python.** O pyenv foi feito puramente em shell script. Não há problema de _bootstrap_ com o Python. 28 | * **Precisa ser carregado no shell.** Ao invés disso, a abordagem do _shim_ funciona adicionando um diretório ao seu `$PATH`. 29 | * **Gerencia virtualenv.** Claro, você pode criar [virtualenv](https://pypi.python.org/pypi/virtualenv) 30 | você mesmo, ou usar o [pyenv-virtualenv](https://github.com/yyuu/pyenv-virtualenv) 31 | para automatizar o processo. 32 | 33 | 34 | ---- 35 | 36 | 37 | ## Índice 38 | 39 | * **[Como funciona](#como-funciona)** 40 | * [Entendendo o PATH](#entendendo-o-PATH) 41 | * [Entendendo shims](#entendendo-Shims) 42 | * [Escolhendo a versão do Python](#escolhendo-a-versão-do-Python) 43 | * [Identificando o local de instalação do Python](#identificando-o-local-de-instalação-do-python) 44 | * **[Instalação](#instalação)** 45 | * [Checkout básico do GitHub](#checkout-básico-do-github) 46 | * [Atualizando](#atualizando) 47 | * [Homebrew no Mac OS X](#homebrew-no-mac-os-x) 48 | * [Configurações avançadas](#configuracoes-avancadas) 49 | * [Desinstalando versões do Python](#desinstalando-versoes-do-python) 50 | * **[Guia de commandos](#guia-de-comandos)** 51 | * **[Desenvolvimento](#desenvolvimento)** 52 | * [Histórico de versões (em inglês)](https://github.com/yyuu/pyenv/blob/master/CHANGELOG.md) 53 | * [Licença (em inglês)](https://github.com/yyuu/pyenv/blob/master/LICENSE) 54 | 55 | ---- 56 | 57 | 58 | ## Como funciona 59 | 60 | De maneira geral o pyenv intercepta os comandos Python usando executáveis 61 | shim injetados em seu `PATH`, determinando qual versão do Python foi especificada 62 | pela sua aplicação, e em seguinda passando seus comandos à instalação correta do Python. 63 | 64 | 65 | ### Entendendo o PATH 66 | 67 | Quando você roda um comando como `python` ou `pip`, seu sistema operacional 68 | procura em uma lista de diretórios para encontrar um arquivo executável com aquele 69 | nome. Essa lista de diretórios está em uma variável de ambiente chamada `PATH`, com um sinal de dois pontos separando cada diretório na lista: 70 | 71 | /usr/local/bin:/usr/bin:/bin 72 | 73 | 74 | A busca em diretórios do `PATH` é feita da esquerda para a direita, então um 75 | executável encontrado no começo da lista tem prioridade sobre um executável encontrado no final dela. 76 | Nesse exemplo, a busca acontece primeiro no diretório `/usr/local/bin`, depois no `/usr/bin` e 77 | por fim no `/bin`. 78 | 79 | ### Entendendo shims 80 | 81 | O pyenv trabalha inserindo um diretório de _shims_ na frente de seu 82 | `PATH`: 83 | 84 | ~/.pyenv/shims:/usr/local/bin:/usr/bin:/bin 85 | 86 | Através de um processo chamado _rehashing_, o pyenv mantém shims naquele 87 | diretório para bater cada comando Python com as versões instaladas do Python — `python`, `pip`, e assim por diante. 88 | 89 | Shims são executáveis leves que simplesmente passam seu comando pelo pyenv. Então 90 | com o pyenv instalado, quando você roda, por exemplo, `pip`, o seu sistema operacional 91 | faz o seguinte: 92 | 93 | * Procuram o seu `PATH` por um executável chamado `pip` 94 | * Encontra o pyenv shim chamado `pip` no começo do seu `PATH` 95 | * Roda o shim chamado `pip`, que passa o comando junto ao pyenv 96 | 97 | ### Escolhendo a versão do Python 98 | 99 | Quando você executa um shim, o pyenv determina qual versão do Python usar procurando nos seguintes locais, nesta ordem: 100 | 101 | 1. A variável de ambiente (se especificada) `PYENV_VERSION`. Você pode usar o comando [`pyenv shell`](COMMANDS.md#pyenv-shell) para configurar esta variável de ambiente na sua sessão atual do shell. 102 | 103 | 2. O arquivo específico de aplicação`.python-version` no diretório atual (se presente). Você pode modificar o arquivo do diretório atual `.python-version` com o [`pyenv local`](COMMANDS.md#pyenv-local) 104 | 105 | 3. O primeiro arquivo `.python-version` encontrado (se existir) procurando em cada diretório pai, até chegar à raíz do seu sistema de arquivos. 106 | 107 | 4. O arquivo global `~/.pyenv/version` . Você pode modificar este arquivo usando o comando [`pyenv global`](COMMANDS.md#pyenv-global). Se a versão global do arquivo não estiver presente, o pyenv assume que você quer usar o Python nativo do seu sistema operacional. (Em outras palavras, qualquer versão que rodaria se o pyenv não estivesse no seu `PATH`.) 108 | 109 | **Nota:** Você pode ativar múltiplas versões ao mesmo tempo, incluindo múltiplas versões do Python 2 ou Python 3 simultaneamente. Isso permite a utilização paralela de Python 2 ou Python 3, o que é obrigatório com ferramentas como `tox`. Por exemplo, para configurar seu path para primeiramente usar o Python nativo do seu sistema operacional e depois usar o Python 3 (configurado para 2.7.9 e 3.4.2 neste exemplo), mas ter também Python 3.3.6, 3.2 e 2.5 disponíveis em seu `PATH`, você iria primeiro instalar as verões que faltam com `pyenv install`, e depois configurar `pyenv global system 3.3.6 3.2 2.5`. A partir de então é possível encontrar o caminho completo do executável destas versões do Python utilizando `pyenv which`. Por exemplo: `pyenv which python2.5` deve exibir `$PYENV_ROOT/versions/2.5/bin/python2.5`, e `pyenv which python3.4` deve exibir o caminho para Python 3 do sistema. 110 | 111 | 112 | ### Identificando o local de instalação do Python 113 | 114 | Uma vez que o pyenv determinou qual versão do Python de acordo com a especificação da sua aplicação, o pyenv passa seus comandos para a instalação correspondente do Python. Cada versão do Python é instalada em seu próprio diretório em: 115 | 116 | ~/.pyenv/versions 117 | 118 | Por exemplo, você pode ter estas versões instaladas: 119 | 120 | * `~/.pyenv/versions/2.7.8/` 121 | * `~/.pyenv/versions/3.4.2/` 122 | * `~/.pyenv/versions/pypy-2.4.0/` 123 | 124 | Para o pyenv os nomes das versão são simplesmente diretórios em: `~/.pyenv/versions`. 125 | 126 | ---- 127 | 128 | ## Instalação 129 | 130 | Se você estiver em um Mac OS X, considere [instalar usando o Homebrew](#homebrew-on-mac-os-x). 131 | 132 | ### O instalador automático 133 | 134 | Visite meu outro projeto: 135 | https://github.com/yyuu/pyenv-installer 136 | 137 | ### Checkout básico do GitHub 138 | 139 | Esse procedimento instala a última versão do pyenv e torna mais fácil fazer um _fork_ e contribuir para o projeto: 140 | 141 | 1. **Faça checkout do pyenv onde você deseja que ele seja instalado.** 142 | Um bom lugar para isso é `$HOME/.pyenv` (porém você pode instalá-lo onde quiser). 143 | 144 | $ git clone https://github.com/yyuu/pyenv.git ~/.pyenv 145 | 146 | 147 | 2. **Defina a variável de ambiente `PYENV_ROOT`** para apontar para o caminho onde o repositório pyenv 148 | está clonado e adicione `$PYENV_ROOT/bin` em seu`$PATH` para ter acesso ao utilitário de linha de comando `pyenv`. 149 | 150 | $ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile 151 | $ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile 152 | 153 | **Nota para quem usa Zsh**: Modifique seu arquivo `~/.zshenv` ao invés de `~/.bash_profile`. 154 | **Nota para Ubuntu e Fedora**: Modifique seu arquivo `~/.bashrc` ao invés de `~/.bash_profile`. 155 | 156 | 3. **Adicione `pyenv init` ao seu shell** para habilitar shims e completar comandos automaticamente. 157 | Por favor certifique-se de que `eval "$(pyenv init -)"` está presente no fim da configuração do shell já que o `PATH` é manipulado durante a inicialização 158 | 159 | $ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile 160 | 161 | **Aviso Geral**: Em alguns sistemas a variável `BASH_ENV` é configurada apontando 162 | para `.bashrc`. Nesses sistemas provavelmente você deve colocar o `eval "$(pyenv init -)` mencionado acima no `.bash_profile`, e **não** em `.bashrc`. Caso contrário você pode 163 | ter commportamentos inesperados, como um acabar com o pyenv em loop infinito. 164 | Veja [#264](https://github.com/yyuu/pyenv/issues/264) para mais detalhes. 165 | 166 | 4. **Reinicie seu shell para que as mudanças no PATH tenham efeito.** 167 | Agora você pode começar a usar o pyenv. 168 | 169 | $ exec $SHELL 170 | 171 | 5. **Instale as versões do Python dentro de `$PYENV_ROOT/versions`.** 172 | Por exemplo, para baixar e instalar Python 2.7.8, execute: 173 | 174 | $ pyenv install 2.7.8 175 | 176 | **NOTA:** Se você precisar passar opçãos de configuração, por favor use 177 | a variável de ambiente ```CONFIGURE_OPTS```. 178 | 179 | **NOTA:** Se você quiser usar um proxy para baixar as versões, por favor use as variáveis de ambiente `http_proxy` e `https_proxy`. 180 | 181 | **NOTA:** Se você estiver com problemas para instalar alguma versão do Python, por favor visite a página wiki 182 | [Problemas comuns ao rodar](https://github.com/yyuu/pyenv/wiki/Common-build-problems) 183 | 184 | #### Atualizando 185 | 186 | Se você instalou pyenv usando as instruções acima, você pode atualizar sua instalação à qualquer momento usando 187 | git. 188 | 189 | Para atualizar para a última versão de desenvolvimento do pyenv, use `git pull`: 190 | 191 | $ cd ~/.pyenv 192 | $ git pull 193 | 194 | Para atualizar para uma versão específica do pyenv, faça checkout da tag correspondente: 195 | 196 | $ cd ~/.pyenv 197 | $ git fetch 198 | $ git tag 199 | v0.1.0 200 | $ git checkout v0.1.0 201 | 202 | ### Desinstalando o pyenv 203 | 204 | A simplicidade do pyenv torna fácil a sua desabilitação temporária ou mesmo desinstalá-lo do sistema. 205 | 206 | 1. Para **desabilitar** o pyenv gerenciando as versões do Python, simplesmente remova a linha 207 | `pyenv init` da sua configuração de inicialização do shell. Isso removerá os diretórios shims do pyenv do PATH e futuros 208 | comandos como `python` irão executar a versão do Python que o sistema tinha antes do pyenv. 209 | 210 | `pyenv` irá ainda estar acessível na linha de comando, mas suas aplicações Python não serão afetadas pela 211 | troca de versão. 212 | 213 | 2. Para **desinstalar** o pyenv por completo, execute o passo 1 e então remova o seu diretório raíz. 214 | Isso irá **apagar todas as versões Python** que estavam instaladas no diretório`` `pyenv root`/versions/ ``: 215 | 216 | rm -rf `pyenv root` 217 | 218 | Se você instalou pyenv usando um gerenciador de pacotes, como uma última etapa, execute a remoção do pacote pyenv. 219 | Segue exemplo pelo Homebrew: 220 | 221 | brew uninstall pyenv 222 | 223 | ## Guia de Comandos 224 | 225 | ### Homebrew no MAC OS X 226 | 227 | Você também pode instalar o pyenv usando o gerenciador de pacotes [Homebrew](http://brew.sh) para o Mac OS X. 228 | 229 | $ brew update 230 | $ brew install pyenv 231 | 232 | 233 | Para atualizar o pyenv no futuro, utilize `upgrade` ao invés de `install`. 234 | 235 | Depois da instalação, você precisará adicionar `eval "$(pyenv init -)"` ao seu perfil (como informado pelo 236 | Homebrew — para exibir essas informações novamente, utilize `brew info pyenv`). Você só precisa adicioná-lo ao seu perfil uma vez. 237 | 238 | Então, siga o resto dos passos pós-instalação em [Checkout básico do GitHub](#checkout-basico-do-github) acima, começando com a instrução nº 4 (_reinicie seu shell para que as mudanças no PATH tenham efeito_). 239 | 240 | ### Configurações avançadas 241 | 242 | Pule essa seção ao menos que você precise saber o que cada linha do seu shell está fazendo 243 | 244 | `pyenv init` é o único comando que ultrapassa a linha de carregar novos comandos no seu shell. 245 | Vindos do rvm, alguns de vocês devem ser contrários à esta ideia. Segue o que o na verdade `pyenv init` faz: 246 | 247 | 1. **Configura os locais dos shims.** Este é o único requisito para o pyenv funcionar adequadamente. Você pode fazer isso colocando 248 | `~/.pyenv/shims` no início do seu `$PATH`. 249 | 250 | 2. **Instala completar de forma automática na linha de comando.** Isto é completamente opcional mas muito útil. 251 | Rodando o script com `~/.pyenv/completions/pyenv.bash` essa estapa configura o completar automático na linha de comando. 252 | Há também um `~/.pyenv/completions/pyenv.zsh` para usuários Zsh. 253 | 254 | 3. **Refazer shims.** De tempos em tempos você precisa re-executar seus arquivos shim. Fazendo isso na inicialização é uma formda de garantir que tudo está atualizado. Você sempre pode executar `pyenv rehash` manualmente no entanto. 255 | 256 | 4. **Instalar o despachante (_dispatcher_) sh.** Isso também é opcional, mas permite ao pyenv e seus plugins mudar variáveis no seu shell, tornando comandos como `pyenv shell` possíveis. O despachante não faz nada anormal como sobrescrever `cd` ou hackear seu prompt do shell, mas se por alguma razão você precisar que o `pyenv` seja um script real ao invés de uma função shell, você pode pular essa etapa sem problemas. 257 | 258 | Para ver exatamente o que ocorre por baixo dos panos, execute `pyenv init -`. 259 | 260 | ### Desinstalando versões do Python 261 | 262 | Com o tempo você irá acumular versões do python em seu diretório 263 | `~/.pyenv/versions`. 264 | 265 | O comando `pyenv uninstall` automatiza automatiza o processo de remoção de versões antigas do Python. 266 | 267 | Como forma alternativa, simplesmente utilize `rm -rf` no diretório da versão que você deseja remover. Você pode encontrar o diretório de uma versão específica do Python com o comando 268 | `pyenv prefix` , Exemplo: `pyenv prefix 2.6.8`. 269 | 270 | ---- 271 | 272 | ## Guia de commandos 273 | 274 | Veja [COMMANDS.md](COMMANDS.md). 275 | 276 | ---- 277 | 278 | ## Variáveis de ambiente 279 | 280 | Você pode modificar como o pyenv funciona com as seguintes configurações: 281 | 282 | nome | padrão | descrição 283 | -----|---------|------------ 284 | `PYENV_VERSION` | | Especifica a versão do python utilizada.
Veja também [`pyenv shell`](#pyenv-shell) 285 | `PYENV_ROOT` | `~/.pyenv` | Define o diretório onde focarão as versões do Python e o shims.
Veja também `pyenv root` 286 | `PYENV_DEBUG` | | Informações sobre os retornos de depuração.
Veja também: `pyenv --debug ` 287 | `PYENV_HOOK_PATH` | [_see wiki_][hooks] | Lista de locais, separados por vírgulas, a serem buscados pelos ganchos (_hooks_) do pyenv. 288 | `PYENV_DIR` | `$PWD` | Diretório para iniciar a busca por arquivos`.python-version`. 289 | 290 | ## Desenvolvimento 291 | 292 | O código fonte do pyenv está [hospedado no GitHub](https://github.com/yyuu/pyenv). Ele é leve, modular, e fácil de entender, mesmo se você não for um hacker de linha de comando. 293 | 294 | Os testes são executados usando [Bats](https://github.com/sstephenson/bats): 295 | 296 | $ bats test 297 | $ bats/test/.bats 298 | 299 | Por favor, fique à vontade para submeter sugestões e bugs em como [_issues_](https://github.com/yyuu/pyenv/issues). 300 | 301 | [pyenv-virtualenv]: https://github.com/yyuu/pyenv-virtualenv#readme 302 | [hooks]: https://github.com/yyuu/pyenv/wiki/Authoring-plugins#pyenv-hooks 303 | --------------------------------------------------------------------------------