Instalando Módulos Python

Email:distutils-sig@python.org

Como um projeto popular de desenvolvimento open source, 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 como criar e compartilhar seus próprios projetos Python, refira-se à :ref:` guia de distribuição <distributing-index>`.

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.
  • a virtual environment is a semi-isolated Python environment that allows packages to be installed for use by a particular application, rather than being installed system wide
  • pyvenv is the standard tool for creating virtual environments, and has been part of Python since Python 3.3. Starting with Python 3.4, it defaults to installing pip into all created virtual environments
  • virtualenv is a third party alternative (and predecessor) to pyvenv. It allows virtual environments to be used on versions of Python prior to 3.4, which either don’t provide pyvenv at all, or aren’t able to automatically install pip into created environments.
  • the Python Packaging Index is a public repository of open source licensed packages made available for use by other Python users
  • the Python Packaging Authority are the group of developers and documentation authors responsible for the maintenance and evolution of the standard packaging tools and the associated metadata and file format standards. They maintain a variety of tools, documentation and issue trackers on both GitHub and 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).

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 Packaging Index:

python -m pip install SomePackage

Nota

Para usuários POSIX (incluindo usuários Mac OS X 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.

pyvenv has its own documentation at pyvenv - Creating virtual environments. Installing into an active virtual environment uses the commands shown above.

Como eu …?

Essas 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?

A number of scientific Python packages have complex binary dependencies, and aren’t currently easy to install using pip directly. At this point in time, it will often be easier for users to install these packages by other means rather than attempting to install them with pip.

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

On Linux, Mac OS X 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

(appropriately versioned pip commands may also be available)

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.

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 Mac OS X através do Python Packaging Index, espera-se que este problema diminua com o tempo, à medida que os usuários são mais capazes para instalar extensões preconstruídas em vez de precisar construí-las eles próprios.

Some of the solutions for installing scientific software that is not yet available as pre-built wheel files may also help with obtaining other binary extensions without needing to build them locally.