I managed to solve my problem.
Firstly I modified my bashrc to only allow pip when virtualenv is on:
# pip should only run if there is a virtualenv currently activated
export PIP_REQUIRE_VIRTUALENV=true
# cache pip-installed packages to avoid re-downloading
export PIP_DOWNLOAD_CACHE=$HOME/.pip/cache
syspip(){
PIP_REQUIRE_VIRTUALENV="" pip "$@"
}
Then to ensure user-installed binaries take precedence I added this to my bash_profile
export PATH=/usr/local/bin:$PATH