19

I'm getting this error when trying to install any package with pip. I have two pip instances, one with Python 2.7 and other with Python 3.

    Could not import setuptools which is required to install from a source distribution.
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/pip/req/req_install.py", line 375, in setup_py
    import setuptools  # noqa
  File "/usr/local/lib/python2.7/dist-packages/setuptools/__init__.py", line 11, in <module>
    from setuptools.extern.six.moves import filterfalse, map
  File "/usr/local/lib/python2.7/dist-packages/setuptools/extern/__init__.py", line 1, in <module>
    from pkg_resources.extern import VendorImporter
ImportError: No module named extern

Even when I try to install the 'extern' module I get this error. Also when installing with Python itself, like python setup.py install.

Thanks in advance.

Aleph Melo
  • 195
  • 1
  • 1
  • 8

5 Answers5

8
sudo apt-get purge python-pkg-resources
sudo apt-get -f install

here actually packages are removed and purged (any configuration files are deleted too).

-f : Attempt to correct a system with broken dependencies in place.

sudo pip install packagename

#sourcehere

Community
  • 1
  • 1
Vinod
  • 1,965
  • 1
  • 9
  • 18
  • 2
    While this code may answer the question, providing additional context regarding _why_ and/or _how_ this code answers the question would significantly improve its long-term value. Please [edit] your answer to add some explanation. – Toby Speight Mar 18 '16 at 12:34
  • Though I don't really quite understand what's going on in here, helped me two times already. – antonavy Sep 12 '17 at 16:18
4

Do this it will work

sudo pip install -U setuptools 
saurabh
  • 2,463
  • 1
  • 18
  • 8
  • Unfortunately, that just gets me an error from pip about `'module' object has no attribute 'PROTOCOL_SSLv3'` – Cerin Feb 04 '17 at 17:26
4

I know this is an old thread, but I just wanted to contribute since I ran into this issue and this thread kept coming up in the results.

Note: This was on MacOS 10.12. My shell is zsh and I already have brew installed

First I ran each of these commands

brew install python
brew install python3

This will either install it or you'll receive an "already installed" message as I did.

Next, run the following command

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

And last:

sudo python get-pip.py

Final note: for my install to work, I ended up having to run the command with pip3

sudo pip3 install nameofinstallhere
rmfossi
  • 91
  • 1
  • 8
3

Not sure whether it is installation issue or packege but it seems like you will not be able to import any package of them, if you have installed python perfectly then

try this commands

step 1 :

$which pip
/usr/local/bin/pip

step 2 :

/usr/local/bin/pip install django

or any of your package name. I am considering ubuntu(OS)

Kamlesh
  • 2,032
  • 2
  • 19
  • 35
  • 4
    This solved https://github.com/pypa/pip/issues/1064, but thank you for answering. – Aleph Melo Feb 18 '16 at 19:37
  • 1
    If you're going to be using the `pip` that is returned by `which` (i.e., first on the path), you don't need to use the absolute path to it in step 2. The solution is simply `pip install django`. – erip Mar 18 '16 at 12:30
1

You can try the following command; it has worked for me:

sudo apt-get install --reinstall python-setuptools
Jonathan Leffler
  • 730,956
  • 141
  • 904
  • 1,278
gab7
  • 11
  • 1