title: Cannot import name 'six' from 'pip._vendor' inside virtual environment on Debian
body: <p>On Debian/Bullseye (testing) the provided <code>python3</code> moved from 3.7 to 3.8.</p>
  
  <p>To provide 3.7 to projects still using it, I install a fresh <a href="https://www.python.org/downloads/release/python-377/" rel="nofollow noreferrer"><code>python3.7.7</code></a> in <em>userland</em> (<a href="https://unix.stackexchange.com/a/350985/280824">this way</a>).</p>
  
  <p>Now I want to use it, let's re-create a virtual environment :</p>
  
  <pre class="lang-sh prettyprint-override"><code>$ virtualenv --clear -p ~/pythonroot/bin/python3.7 .venv
  created virtual environment CPython3.7.7.final.0-64 in 98ms
    creator CPython3Posix(dest=/home/user/git/repo/.venv, clear=True, global=False)
    seeder FromAppData(download=False, pip=latest, setuptools=latest, wheel=latest, pkg_resources=latest, via=copy, app_data_dir=/home/user/.local/share/virtualenv/seed-app-data/v1.0.1.debian)
    activators BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator
  </code></pre>
  
  <p><code>pip</code> fails to run : </p>
  
  <pre class="lang-sh prettyprint-override"><code>$ source .venv/bin/activate;pip -V
  Traceback (most recent call last):
    File "/home/user/git/repo/.venv/bin/pip", line 5, in &lt;module&gt;
      from pip._internal.cli.main import main
    File "/home/user/git/repo/.venv/lib/python3.7/site-packages/pip/_internal/cli/main.py", line 10, in &lt;module&gt;
      from pip._internal.cli.autocompletion import autocomplete
    File "/home/user/git/repo/.venv/lib/python3.7/site-packages/pip/_internal/cli/autocompletion.py", line 9, in &lt;module&gt;
      from pip._internal.cli.main_parser import create_main_parser
    File "/home/user/git/repo/.venv/lib/python3.7/site-packages/pip/_internal/cli/main_parser.py", line 7, in &lt;module&gt;
      from pip._internal.cli import cmdoptions
    File "/home/user/git/repo/.venv/lib/python3.7/site-packages/pip/_internal/cli/cmdoptions.py", line 24, in &lt;module&gt;
      from pip._internal.cli.progress_bars import BAR_TYPES
    File "/home/user/git/repo/.venv/lib/python3.7/site-packages/pip/_internal/cli/progress_bars.py", line 7, in &lt;module&gt;
      from pip._vendor import six
  ImportError: cannot import name 'six' from 'pip._vendor' (/home/user/git/repo/.venv/lib/python3.7/site-packages/pip/_vendor/__init__.py)
  zsh: exit 1     pip -
  </code></pre>
  
  <p>Re-create again a virtual environment, with explicit <code>pip</code> version :</p>
  
  <pre class="lang-sh prettyprint-override"><code>$ deactivate
  $ virtualenv --clear --pip 19 -p ~/pythonroot/bin/python3.7 .venv
  created virtual environment CPython3.7.7.final.0-64 in 1380ms
    creator CPython3Posix(dest=/home/user/git/repo/.venv, clear=True, global=False)
    seeder FromAppData(download=False, pip=19, setuptools=latest, wheel=latest, pkg_resources=latest, via=copy, app_data_dir=/home/user/.local/share/virtualenv/seed-app-data/v1.0.1.debian)
    activators BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator
  $ source .venv/bin/activate;pip -V
  pip 20.1.1 from /usr/lib/python3/dist-packages/pip (python 3.8)
  </code></pre>
  
  <p>Now <code>pip</code> runs.</p>
  
  <p><em>Question</em> : Why the <code>pip</code> version used is an other version that I set on virtual environment creation ?</p>
  
  <hr>
  
  <p><strong>Edit</strong> : I Edit the title : this looks like a path issue…</p>
  
  <p>I added a python3.7 installation <em>system-wide</em> :</p>
  
  <pre class="lang-sh prettyprint-override"><code>$ python3 -m pip -V
  pip 20.1.1 from /usr/lib/python3/dist-packages/pip (python 3.8)
  $ python3.7 -m pip -V
  pip 19.2.3 from /usr/local/lib/python3.7/site-packages/pip (python 3.7)
  $ ./pylocal/bin/python3.7 -m pip -V
  pip 19.2.3 from /home/user/pylocal/lib/python3.7/site-packages/pip (python 3.7)
  $ python3 -c 'from pip._vendor import six'
  $ python3.7 -c 'from pip._vendor import six'
  $ ./pylocal/bin/python3.7 -c 'from pip._vendor import six'
  </code></pre>
  
  <p>but inside virtual environment, <code>pip</code> is still broken : </p>
  
  <pre class="lang-sh prettyprint-override"><code>$ virtualenv --clear --python python3.7 .venv37
  created virtual environment CPython3.7.7.final.0-64 in 102ms
    creator CPython3Posix(dest=/home/user/.venv37, clear=True, global=False)
    seeder FromAppData(download=False, pip=latest, setuptools=latest, wheel=latest, pkg_resources=latest, via=copy, app_data_dir=/home/user/.local/share/virtualenv/seed-app-data/v1.0.1.debian)
    activators BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator
  $ source .venv37/bin/activate
  (.venv37)$ which python
  /home/user/.venv37/bin/python
  (.venv37)$ python -V
  Python 3.7.7
  (.venv37)$ python -c 'from pip._vendor import six'
  Traceback (most recent call last):
    File "&lt;string&gt;", line 1, in &lt;module&gt;
  ImportError: cannot import name 'six' from 'pip._vendor' (/home/user/.venv37/lib/python3.7/site-packages/pip/_vendor/__init__.py)
  zsh: exit 1     python -c 'from pip._vendor import six'
  </code></pre>