Basically it seems you are lacking only two shell commands.
virtualenv venv
. venv/bin/activate
Then everything works with pip pip install numpy
I actually prefer the pipenv way (or the virtualenvwrapper way) of putting virtualenvs into a dedicated location, so that I can wipe them off the hard disk if I want to free some space.The real interesting and occasionally bothering point on managing your virtualenv is resolution of dependencies and compatibility ranges (hard to solve in general).