“Unable to locate finder for 'pip._vendor.distlib'” error when using "pip install virtualenv"

PythonPython 3.xPipVirtualenv

Python Problem Overview


I am trying to install virtualenv with Python 3.6 version under Windows 10.When I run "pip install virtualenv" I'm getting this error. I am a newbie to Python.

Collecting virtualenv
  Downloading virtualenv-15.0.3-py2.py3-none-any.whl (3.5MB)
    100% |████████████████████████████████| 3.5MB 256kB/s
Installing collected packages: virtualenv
Exception:
Traceback (most recent call last):
  File "c:\users\corey shaw\appdata\local\programs\python\python36\lib\site-packages\pip\basecommand.py", line 215, in main
    status = self.run(options, args)
  File "c:\users\corey shaw\appdata\local\programs\python\python36\lib\site-packages\pip\commands\install.py", line 317, in run
    prefix=options.prefix_path,
  File "c:\users\corey shaw\appdata\local\programs\python\python36\lib\site-packages\pip\req\req_set.py", line 742, in install
    **kwargs
  File "c:\users\corey shaw\appdata\local\programs\python\python36\lib\site-packages\pip\req\req_install.py", line 831, in install
    self.move_wheel_files(self.source_dir, root=root, prefix=prefix)
  File "c:\users\corey shaw\appdata\local\programs\python\python36\lib\site-packages\pip\req\req_install.py", line 1032, in move_wheel_files
    isolated=self.isolated,
  File "c:\users\corey shaw\appdata\local\programs\python\python36\lib\site-packages\pip\wheel.py", line 493, in move_wheel_files
    maker.make_multiple(['%s = %s' % kv for kv in console.items()])
  File "c:\users\corey shaw\appdata\local\programs\python\python36\lib\site-packages\pip\_vendor\distlib\scripts.py", line 383, in make_multiple
    filenames.extend(self.make(specification, options))
  File "c:\users\corey shaw\appdata\local\programs\python\python36\lib\site-packages\pip\_vendor\distlib\scripts.py", line 372, in make
    self._make_script(entry, filenames, options=options)
  File "c:\users\corey shaw\appdata\local\programs\python\python36\lib\site-packages\pip\_vendor\distlib\scripts.py", line 276, in _make_script
    self._write_script(scriptnames, shebang, script, filenames, ext)
  File "c:\users\corey shaw\appdata\local\programs\python\python36\lib\site-packages\pip\_vendor\distlib\scripts.py", line 212, in _write_script
    launcher = self._get_launcher('t')
  File "c:\users\corey shaw\appdata\local\programs\python\python36\lib\site-packages\pip\_vendor\distlib\scripts.py", line 351, in _get_launcher
    result = finder(distlib_package).find(name).bytes
  File "c:\users\corey shaw\appdata\local\programs\python\python36\lib\site-packages\pip\_vendor\distlib\resources.py", line 324, in finder
    raise DistlibException('Unable to locate finder for %r' % package)
pip._vendor.distlib.DistlibException: Unable to locate finder for 'pip._vendor.distlib'

Python Solutions


Solution 1 - Python

  1. uninstall current pip:

     python -m pip uninstall pip setuptools
    
  2. download get-pip.py from https://bootstrap.pypa.io/get-pip.py

  3. execute get-pip script:

     python get-pip.py
    

Solution 2 - Python

This worked for me:

easy_install --upgrade pip

Windows 10, Python 3.6

Solution 3 - Python

I will add the solution which worked for me here, in case someone is not able to solve their issue using the above approaches. Open Terminal or Command prompt or Anaconda prompt and follow the 3 steps :

Step 1
Enter python -m pip uninstall pip

Step 2
python -m ensurepip

Step 3
python -m pip install -U pip

The pip version can easily be checked using pip --version. Hope this works for you :)

Solution 4 - Python

Try uninstalling pip and installing get-pip.py. It appears to be a bug in the 3.6 version for Windows. https://github.com/pypa/pip/issues/3964

It's also reported here. https://stackoverflow.com/questions/39552710/pip-install-jupyter-unable-to-locate-finder-for-pip-vendor-distlib

Solution 5 - Python

Since Windows now ships with curl by default, this one-liner works:

pip uninstall pip setuptools && curl -s https://bootstrap.pypa.io/get-pip.py | python

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionCorey ShawView Question on Stackoverflow
Solution 1 - PythonSkyguardView Answer on Stackoverflow
Solution 2 - PythonTaroccoView Answer on Stackoverflow
Solution 3 - PythonVarad PimpalkhuteView Answer on Stackoverflow
Solution 4 - PythonjjisnowView Answer on Stackoverflow
Solution 5 - PythonKartik SonejiView Answer on Stackoverflow