Managing virtual environments for python development is not impossible, but also is not fun when you are constantly switching between projects.
Pip install Virtualenv and brew install Autoenv to make this process much more streamlined and productive. Install both, and then create these .env files to activate and deactivate your virtual environments. And add this line to your bash_profile: source /usr/local/opt/autoenv/activate.sh
touch .env && echo "deactivate &>/dev/null" > .env
project_dir: (this must be done for each project)
run: virtualenv venv #creates virtual environment in current folder
touch .env && echo "source venv/bin/activate &>/dev/null" > .env