Gerenciar os pacotes do Python necessários com requirements.txt
Caso você compartilhe um projeto do Python com outras pessoas ou use um sistema de compilação com o intuito de produzir o aplicativo em Python, precisará especificar todos os pacotes externos necessários. Ao planejar copiar o projeto para outros locais necessários para restaurar um ambiente, também é preciso definir os pacotes dependentes necessários.
A abordagem recomendada para especificar pacotes externos dependentes do Python é o uso de um arquivo de requisitos (readthedocs.org). Esse arquivo oferece uma lista de comandos do PIP que instalam todas as versões necessárias dos pacotes dependentes para o projeto. O comando mais comum é pip freeze > requirements.txt
. Esse comando registra a lista de pacotes atuais do ambiente no arquivo requirements.txt
.
Um arquivo de requisitos contém versões precisas de todos os pacotes instalados. É possível utilizar arquivos de requisitos para congelar os requisitos de um ambiente. Ao utilizar versões precisas dos pacotes, você conseguirá reproduzir facilmente seu ambiente em outra máquina. O arquivo de requisitos inclui até os pacotes instalados com uma série de versões, como uma dependência de outro pacote ou com um instalador que não seja o PIP.
Pré-requisitos
Ter o Visual Studio instalado e compatível com cargas de trabalho do Python. Para obter mais informações, confira Instalar o suporte ao Python no Visual Studio.
Um arquivo de requisitos. É possível utilizar um arquivo de requisitos existente ou gerar um arquivo, conforme as instruções descritas neste artigo.
Tecnicamente, é possível utilizar qualquer nome de arquivo para rastrear os requisitos. Entretanto, o Visual Studio oferece suporte específico ao arquivo de requisitos chamado “requirements.txt”. Utilize o argumento -r <full path to file>
ao instalar um pacote com o intuito de especificar um nome de sua preferência para o arquivo.
Instalar as dependências listadas em requirements.txt
Caso carregue um projeto com um arquivo requirements.txt
, você pode instalar todas as dependências de pacote listadas no arquivo.
No Gerenciador de Soluções, expanda o projeto, depois expanda o nó Ambientes do Python.
Encontre o nó do ambiente no qual deseja instalar os pacotes. Clique com o botão direito do mouse no nó e escolha Instalar do requirements.txt.
Você pode monitorar o processo de instalação dos pacotes na janela Saída:
A saída lista todos os pacotes necessários que foram instalados e todas as atualizações necessárias para os comandos do PIP afetados, bem como a disponibilidade de versões do PIP mais recentes.
Instalar as dependências em um ambiente virtual
Também é possível instalar as dependências de pacotes do Python em um ambiente virtual existente.
No Gerenciador de Soluções, expanda o projeto, depois expanda o nó Ambientes do Python.
Encontre o nó do ambiente virtual no qual deseja instalar os pacotes. Clique com o botão direito do mouse no nó e escolha Instalar do requirements.txt.
Caso precise criar um ambiente virtual, consulte Usar ambientes virtuais.
Gerar o arquivo requirements.txt
Se todos os pacotes do Python necessários ao projeto já estiverem instalados em um ambiente, você poderá gerar o arquivo requirements.txt
no Visual Studio.
No Gerenciador de Soluções, expanda o projeto, depois expanda o nó Ambientes do Python.
Encontre o nó do ambiente para o qual deseja gerar o arquivo de requisitos. Clique com o botão direito do mouse no nó e escolha Gerar o requirements.txt.
Atualizar ou adicionar as entradas de um arquivo requirements.txt existente
Se o arquivo requirements.txt
já existir, o Visual Studio exibirá uma solicitação com diversas opções:
- Substituir o arquivo inteiro: substitui todos os itens, comentários e opções definidos no arquivo
requirements.text
. - Atualizar as entradas existentes: atualiza os especificadores de versão no arquivo
requirements.text
para que correspondam à versão instalada atualmente. - Atualizar e adicionar entradas: atualiza os requisitos existentes no arquivo
requirements.text
e acrescenta todos os novos requisitos de pacotes ao final do arquivo.
O Visual Studio executa o pip
a fim de detectar os requisitos atuais de pacotes para o ambiente, depois atualiza o arquivo requirements.txt
com base na sua seleção.
Instalar manualmente as dependências de pacotes
Se o PIP não instalar uma dependência de pacote definida no arquivo requirements.txt
, toda a instalação falhará.
Há duas opções para resolver esse problema:
Edite manualmente o arquivo
requirements.txt
a fim de excluir o pacote com falha, depois execute o processo de instalação novamente.Use as opções de comando do PIP para fazer referência a uma versão instalável do pacote.
Atualizar o arquivo de requisitos com pip wheel
Caso use o comando pip wheel
para compilar uma dependência, você poderá adicionar a opção --find-links <path>
ao arquivo requirements.txt
.
Chame o comando
pip wheel
a fim de compilar a lista de dependências necessárias:pip wheel azure
A saída mostra os wheels compilados para os pacotes coletados:
Downloading/unpacking azure Running setup.py (path:C:\Project\env\build\azure\setup.py) egg_info for package azure Building wheels for collected packages: azure Running setup.py bdist_wheel for azure Destination directory: c:\project\wheelhouse Successfully built azure Cleaning up...
Acrescente as opções
find-links
eno-index
com o requisito de versão do pacote ao arquivorequirements.txt
:type requirements.txt --find-links wheelhouse --no-index azure==0.8.0
Execute o processo de instalação do PIP com o arquivo de requisitos atualizado:
pip install -r requirements.txt -v
A saída monitora o progresso do processo de instalação:
Downloading/unpacking azure==0.8.0 (from -r requirements.txt (line 3)) Local files found: C:/Project/wheelhouse/azure-0.8.0-py3-none-any.whl Installing collected packages: azure Successfully installed azure Cleaning up... Removing temporary dir C:\Project\env\build...