# Instalando módulos Python

E-mail

  distutils-sig@python.org

Como um projeto popular de desenvolvimento de código aberto, Python tem uma comunidade de apoio ativa de colaboradores e usuários, que também fazem o seu software disponível para outros desenvolvedores de Python para usar sob os termos da licença de código aberto.

Isso permite aos usuários Python compartilhar e colaborar efetivamente, se beneficiando das soluções que outros já tenham criado para os problemas mais comuns (em alguns casos até mesmo os raros), bem como potencialmente contribuindo com suas próprias soluções para o conjunto de soluções comuns.

Este guia cobre a parte do processo de instalação. Para um guia sobre criar e compartilhar seus próprios projetos Python, refira-se à guia de distribuição.

Nota

Para corporações e outros usuários institucionais, esteja ciente que muitas organizações têm suas próprias políticas em relação ao uso e contribuição para o software de código aberto. Por favor, leve em conta essas políticas ao usar as ferramentas de distribuição e instalação fornecidas com o Python.

## Termos chave

- `pip` é o programa de instalação preferido. A partir do Python 3.4, ele é incluído por padrão com os instaladores binários do Python.

- Um ambiente virtual é um ambiente Python semi-isolado que permite que pacotes sejam instalados para uso por uma aplicação específica, em vez de serem instaladas em todo o sistema.

- `venv` é a ferramenta padrão para criar ambientes virtuais e faz parte do Python desde o Python 3.3. A partir do Python 3.4, o padrão é instalar `pip` em todos os ambientes virtuais criados.

- `virtualenv` é uma alternativa de terceiros (e predecessora) ao `venv`. Ele permite que ambientes virtuais sejam usados em versões do Python anteriores a 3.4, que não fornecem `venv` de forma alguma, ou não são capazes de instalar automaticamente o `pip` nos ambientes criados.

- The Python Package Index is a public repository of open source licensed packages made available for use by other Python users.

- o Python Packaging Authority é o grupo de desenvolvedores e autores de documentação responsáveis pela manutenção e evolução das ferramentas de empacotamento padrão e os metadados associados e padrões de formato de arquivo. Eles mantêm uma variedade de ferramentas, documentação e rastreadores de problemas no GitHub e no Bitbucket.

- `distutils` é o sistema original de construção e distribuição adicionado pela primeira vez à biblioteca padrão Python em 1998. Embora o uso direto de `distutils` esteja sendo eliminado, ele ainda estabeleceu a base para a infraestrutura de distribuição e empacotamento atual, e não apenas permanece da biblioteca padrão, mas seu nome sobrevive de outras maneiras (como o nome da lista de e-mails usada para coordenar o desenvolvimento de padrões de empacotamento Python).

Alterado na versão 3.5: O uso de `venv` agora é recomendado para a criação de ambientes virtuais.

Ver também

Python Packaging User Guide: Creating and using virtual environments

## Uso básico

As ferramentas de empacotamento padrão são todas projetadas para serem usadas na linha de comando.

The following command will install the latest version of a module and its dependencies from the Python Package Index:

    python -m pip install SomePackage

Nota

For POSIX users (including macOS and Linux users), the examples in this guide assume the use of a virtual environment.

Para usuários do Windows, os exemplos neste guia presumem que a opção de ajustar a variável de ambiente PATH do sistema foi selecionada durante a instalação do Python.

Também é possível especificar uma versão exata ou mínima diretamente na linha de comando. Ao usar operadores de comparação como `>`, `<` ou algum outro caractere especial que é interpretado pelo shell, o nome do pacote e a versão devem ser colocados entre aspas duplas:

    python -m pip install SomePackage==1.0.4    # specific version
    python -m pip install "SomePackage>=1.0.4"  # minimum version

Normalmente, se um módulo adequado já estiver instalado, tentar instalá-lo novamente não terá efeito. A atualização de módulos existentes deve ser solicitada explicitamente:

    python -m pip install --upgrade SomePackage

Mais informações e recursos sobre o `pip` e seus recursos podem ser encontrados no Python Packaging User Guide.

A criação de ambientes virtuais é feita através do módulo `venv`. A instalação de pacotes em um ambiente virtual ativo usa os comandos mostrados acima.

Ver também

Python Packaging User Guide: Installing Python Distribution Packages

## Como eu …?

Estas são respostas rápidas ou links para algumas tarefas comuns.

### … instalo `pip` em versões do Python anteriores ao Python 3.4?

Python apenas começou a empacotar `pip` com Python 3.4. Para versões anteriores, o `pip` precisa ser “inicializado” conforme descrito no Python Packaging User Guide.

Ver também

Python Packaging User Guide: Requirements for Installing Packages

### … instalo pacotes apenas para o usuário atual?

Passar a opção `--user` para `python -m pip install` irá instalar um pacote apenas para o usuário atual, ao invés de para todos os usuários do sistema.

### … instalo pacotes científicos do Python?

Vários pacotes científicos do Python têm dependências binárias complexas e atualmente não são fáceis de instalar usando o `pip` diretamente. Neste ponto, frequentemente será mais fácil para os usuários instalarem esses pacotes por outros meios ao invés de tentar instalá-los com `pip`.

Ver também

Python Packaging User Guide: Installing Scientific Packages

### … trabalho com várias versões do Python instaladas em paralelo?

On Linux, macOS, and other POSIX systems, use the versioned Python commands in combination with the `-m` switch to run the appropriate copy of `pip`:

    python2   -m pip install SomePackage  # default Python 2
    python2.7 -m pip install SomePackage  # specifically Python 2.7
    python3   -m pip install SomePackage  # default Python 3
    python3.4 -m pip install SomePackage  # specifically Python 3.4

Comandos `pip` com versão apropriada também podem estar disponíveis.

No Windows, use o iniciador Python `py` em combinação com a opção `-m`:

    py -2   -m pip install SomePackage  # default Python 2
    py -2.7 -m pip install SomePackage  # specifically Python 2.7
    py -3   -m pip install SomePackage  # default Python 3
    py -3.4 -m pip install SomePackage  # specifically Python 3.4

## Problemas comuns de instalação

### Instalando no sistema Python no Linux

Em sistemas Linux, uma instalação Python normalmente será incluída como parte da distribuição. A instalação nesta instalação Python requer acesso root ao sistema, e pode interferir na operação do gerenciador de pacotes do sistema e outros componentes do sistema se um componente for atualizado inesperadamente usando `pip`.

Em tais sistemas, geralmente é melhor usar um ambiente virtual ou uma instalação por usuário ao instalar pacotes com `pip`.

### Pip não instalado

É possível que o `pip` não seja instalado por padrão. Uma solução potencial é:

    python -m ensurepip --default-pip

Existem também recursos adicionais para instalar pip.

### Instalando extensões binárias

O Python normalmente depende fortemente da distribuição baseada na fonte, com os usuários finais sendo esperados para compilar os módulos de extensão da fonte como parte do processo de instalação.

With the introduction of support for the binary `wheel` format, and the ability to publish wheels for at least Windows and macOS through the Python Package Index, this problem is expected to diminish over time, as users are more regularly able to install pre-built extensions rather than needing to build them themselves.

Algumas das soluções para instalar softwares científicos que ainda não estão disponíveis como arquivos `wheel` pré-construídos também podem ajudar a obter outras extensões binárias sem a necessidade para construí-los localmente.

Ver também

Python Packaging User Guide: Binary Extensions