I did a test again on Fedora rawhide which comes with only Python 3.
$ pip3 --version
pip 18.0 from /usr/lib/python3.7/site-packages/pip (python 3.7)
$ pip3 install --user virtualenvwrapper
$ export WORKON_HOME=$HOME/.virtualenvs
$ export PROJECT_HOME=$HOME/Devel
$ source .local/bin/virtualenvwrapper.sh
which: no python in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin)
bash: : command not found
virtualenvwrapper.sh: There was a problem running the initialization hooks.
If Python could not import the module virtualenvwrapper.hook_loader,
check that virtualenvwrapper has been installed for
VIRTUALENVWRAPPER_PYTHON= and that PATH is
set properly
As you can see in PEP 394 (
https://www.python.org/dev/peps/pep-0394),
/usr/bin/python still has to be a symlink pointing to
python2 so when a distro comes without python2 by default, there is no
/usr/bin/python.
This patch changes the default binary in virtualenvwrapper RPM package in Fedora to work properly in python3-only environment.
IMHO virtualenvwrapper should check whether python3 is available or not and if so, use them. Otherwise, use a fallback to python2.