When doing projects in python there are a few rules I’ve begun to follow on my projects.

  1. On macOS use pyenv to manage python versions because Homebrew updates will force you to update too quickly sometimes. 
  2. Use a virtual environment to install your requirements which are in a ./requirements/ folder. There is a base set of requirements in ./requirements/base.txt and two files local.txt and production.txt which include (or not) requirements needed for those environments. Others can also be added