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, confira o Guia de Usuário para Empacotamento de Python.

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.

  • O Python Package Index é um repositório público de pacotes licenciados como código aberto e disponíveis para uso de outros usuários Python

  • 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.

  • 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.

Uso básico

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

O comando a seguir instalará a versão mais recente de um módulo e suas dependências do Python Package Index:

python -m pip install SomePackage

Nota

Para usuários POSIX (incluindo usuários macOS e Linux), os exemplos neste guia presumem o uso de um ambiente virtual.

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.

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.

… 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.

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

No Linux, macOS e outros sistemas POSIX, use os comandos Python com versão em combinação com a opção -m para executar a cópia apropriada de 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.

Com a introdução do suporte para o formato binário wheel e a capacidade de publicar wheels para pelo menos Windows e macOS através do Python Package Index, espera-se que este problema diminua com o tempo, à medida que os usuários são mais capazes para instalar extensões pré-construídas em vez de precisar construí-las eles próprios.

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.