Lots of other threads about similar issues, but none that I could find where quite the same case as mine. So, here goes:
Things I did:
If you take a look at the virtualenvwrapper.sh script, you will find these lines:
# Locate the global Python where virtualenvwrapper is installed.
if [ "$VIRTUALENVWRAPPER_PYTHON" = "" ]
then
VIRTUALENVWRAPPER_PYTHON="$(command \which python)"
fi
If you don't manually export VIRTUALENVWRAPPER
appropriately for your version of python, it will assume the system default where you don't have the virtualenvwrapper package installed.
I fixed this like so:
echo "export VIRTUALENVWRAPPER_PYTHON=$(which python3.6)" >> ~/.zshrc
This is all documented on the official website here.