Como personalizar um requirements.txt para vários ambientes?

| | | | | | | | | | | | | |

Tenho dois ramos, Desenvolvimento e Produção. Cada um tem dependências, algumas das quais são diferentes. Desenvolvimento aponta para dependências que estão em desenvolvimento. Da mesma forma para a Produção. Eu preciso implantar no Heroku que espera as dependências de cada branch em um único arquivo chamado "requirements.txt".

Qual é a melhor maneira de organizar?

O que eu tenho pensei em:

  • Manter arquivos de requisitos separados, um em cada branch (deve sobreviver a fusões frequentes!)
  • Diga ao Heroku qual arquivo de requisitos eu quero usar (variável de ambiente?)
  • Escrever scripts de implantação (criar ramificação temporária, modificar arquivo de requisitos, confirmar, implantar, excluir ramificação temporária)