make + pip + pip-tools

make + pip + pip-tools

Slides da lighting apresentada no meetup Python Floripa na Hostgator

F6d5a605df582ab9ea419ebef9f400b7?s=128

Caio Carrara

August 03, 2019
Tweet

Transcript

  1. 1 / 20 make + pip + pip-tools caiocarrara.com.br

  2. 2 / 20 make + pip + pip-tools • Necessidade:

    – Gerenciar dependências Python • Contexto: – Aplicações server side
  3. 3 / 20 make + pip + pip-tools Necessidade: Gerenciar

    dependências Python Contexto: Aplicações server side ONLY
  4. 4 / 20 AVISO

  5. 5 / 20

  6. 6 / 20 make + pip + pip-tools • Princípios:

    – Do one thing and do it well – DOTADIW (Unix) – Se apoiar no ombro de gigantes – Não perder ou complicar o controle das coisas – Manter as coisas o mais simples possível
  7. 7 / 20 make + pip + pip-tools • O

    que eu quero: – Especificar e rastrear as dependências do meu projeto – (Re)Instalar as dependências
  8. 8 / 20 make + pip + pip-tools • O

    que eu não quero: – Rodar scripts/programas Python – Criar pacotes Python para distribuir – Criar/editar/mexer no virtual environment
  9. 9 / 20 make + pip + pip-tools

  10. 10 / 20 make + pip + pip-tools • make

    – Executar as ações/tarefas • pip – Instalar os pacotes Python • pip-tools – Ajudante para lock and sync
  11. 11 / 20 pip pip install [package] pip install django

    pip install requests pip install pytest
  12. 12 / 20 pip

  13. 13 / 20 pip pip freeze > requirements.txt celery==4.3.0 Click==7.0

    Django==2.2.4 requests==2.22.0
  14. 14 / 20 pip-tools requirements.in flask

  15. 15 / 20 pip-tools

  16. 16 / 20 make • Makefile

  17. 17 / 20 make • Makefile

  18. 18 / 20 make • Commands: make test make run

    make shell make test-coverage
  19. 19 / 20 make + pip + pip-tools

  20. 20 / 20 Obrigado • Make – https://www.gnu.org/software/make/ • Pip

    – https://pip.pypa.io/en/stable/ • Pip-Tools – https://github.com/jazzband/pip-tools caiocarrara.com.br speakerdeck.com/cacarrara