Hopefully there's a reasonable explanation, but I just ran into a weird issue where I somehow had multiple versions of the same package installed on my server.
I only ever install using pip. I upgrade by running:
pip install --upgrade -r requirements.txt
However, if you look at the link above (and summarized below), you'll see that I was able to uninstall the same package twice in a row using pip. First it uninstalled version 0.15.3 (the version I wanted installed), and then it uninstalled an older version that shouldn't have been there.
↪ ../.virtualenvs/courtlistener/bin/pip uninstall django_filter
Uninstalling django-filter-0.15.3:
Proceed (y/n)? y
Successfully uninstalled django-filter-0.15.3
# Great. It's uninstalled.
↪ ../.virtualenvs/courtlistener/bin/pip install django_filter
Requirement already satisfied: django_filter in /var/www/.virtualenvs/courtlistener/lib/python2.7/site-packages
# HUH?!
↪ sudo ../.virtualenvs/courtlistener/bin/pip uninstall django_filter
Uninstalling django-filter-0.11.0:
Proceed (y/n)? y
Successfully uninstalled django-filter-0.11.0
I want to understand how this happened so I can be sure it doesn't happen again. It was a real pain to sort out.