Recomendações de ferramentas

Se você está familiarizado com o pacote e a instalação do Python e só deseja saber quais ferramentas são recomendadas atualmente, aqui está.

Gerenciamento de dependências de aplicações

  • Use pip de uma maneira segura para instalar um aplicativo Python e suas dependências durante a implantação.

  • Use virtualenv ou venv para isolar dependências específicas da aplicação de uma instalação compartilhada do Python. 4

  • Use pip-tools, Pipenv, ou poetry para gerar as dependências específicas da aplicação totalmente especificadas, ao desenvolver aplicações Python.

Recomendações de ferramentas de instalação

  • Use pip para instalar pacotes do Python a partir do PyPI. 1 2 Dependendo de como pip é instalado, você também pode precisar instalar o wheel para obter o benefício do armazenamento em cache do wheel. 3

  • Use virtualenv ou venv para isolar dependências específicas do projeto de uma instalação compartilhada do Python. 4

  • Se você estiver procurando por gerenciamento de pilhas de software multiplataforma totalmente integradas, considere:

    • buildout: focado principalmente na comunidade de desenvolvimento web

    • Spack, Hashdist ou conda: focado principalmente na comunidade científica.

Recomendações de ferramentas de empacotamento

Se você tem extensões binárias e deseja distribuir wheels para várias plataformas, use cibuildwheel como parte de sua configuração de CI para construir wheels distribuíveis.

  • Use twine para enviar distribuições para o PyPI.

Migração da plataforma de publicação

A implementação do Python Package Index original (anteriormente hospedada em pypi.python.org) foi eliminada em favor de uma implementação atualizada hospedada em pypi.org.

Veja Migrando para PyPI.org para mais informações sobre o status da migração, e quais configurações alterar em seus clientes.


1

Existem alguns casos em que você pode escolher usar easy_install (do setuptools), por exemplo se você precisar instalar a partir de Eggs (que pip não oferece suporte). Para uma análise detalhada, consulte pip vs easy_install.

2

A aceitação da PEP 453 significa que pip estará disponível por padrão na maioria das instalações do Python 3.4 ou posterior. Veja a seção de motivos da PEP 453 para saber por que pip foi escolhido.

3

get-pip.py e virtualenv instalam wheel, enquanto ensurepip e venv não instalam atualmente. Além disso, o pacote comum “python-pip” que é encontrado em várias distros do Linux, não depende do “python-wheel” atualmente.

4(1,2)

A partir do Python 3.4, venv `` criará ambientes virtualenv com ``pip instalado, tornando-o uma alternativa igual a virtualenv. No entanto, usar virtualenv ainda será recomendado para usuários que precisam de consistência entre versões.

5

Embora você possa usar distutils puro para muitos projetos, ele não oferece suporta à definição de dependências em outros projetos e não possui vários utilitários de conveniência para preencher automaticamente os metadados de distribuição fornecidos pelo setuptools. Estando fora da biblioteca padrão, setuptools também oferece um conjunto de recursos mais consistente em diferentes versões do Python e (ao contrário de distutils), versões recentes do setuptools oferecem suporte a todos os campos de metadados modernos descritos em Especificações de metadados principais.

Mesmo para projetos que escolhem usar distutils, quando o pip instala tais projetos diretamente da fonte (ao invés de instalar de um arquivo wheel pré-construído), ele irá, na verdade, construir seu projeto usando setuptools.

6

distribute (um fork do setuptools) foi mesclado no setuptools em junho de 2013, tornando assim setuptools a escolha padrão para empacotamento.