Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Environment info:

$ which python
$ python
Python 2.6.1 (r261:67515, Jul  7 2009, 23:51:51) 
[GCC 4.2.1 (Apple Inc. build 5646)] on darwin

$ echo $PATH

$ which easy_install

Specifically, let's try the simplejson module (I know it's the same thing as import json in 2.6, but that isn't the point)

$ sudo easy_install simplejson
Searching for simplejson
Best match: simplejson 2.1.0
Processing simplejson-2.1.0.tar.gz
Running simplejson-2.1.0/ -q bdist_egg --dist-dir /tmp/easy_install-Ojv_yS/simplejson-2.1.0/egg-dist-tmp-AypFWa
The required version of setuptools (>=0.6c11) is not available, and
can't be installed while this script is running. Please install
 a more recent version first, using 'easy_install -U setuptools'.

(Currently using setuptools 0.6c9 (/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python))
error: Setup script exited with 2

Okay, so I'll update setuptools...

$ sudo easy_install -U setuptools
Searching for setuptools Reading
Best match: setuptools 0.6c11
Processing setuptools-0.6c11-py2.6.egg
setuptools 0.6c11 is already the
active version in easy-install.pth
Installing easy_install script to
/usr/local/bin Installing
easy_install-2.6 script to

Processing dependencies for setuptools
Finished processing dependencies for

I'm not going to speculate, but this could have been caused by any number of environment changes like the Leopard -> Snow Leopard upgrade, MacPorts or Fink updates, or multiple Google App Engine updates.

share|improve this question
up vote 3 down vote accepted

I followed the directions on the website below, which solved the issue for me:

Namely, download the appropriate Python version and then run:

sh ./setuptools-0.6c11-py2.7.egg
share|improve this answer

By default OSX uses /usr/bin/easy_install for third party package installs. This script is hardcoded to use a version of setuptools that is older than the version required by pymongo for python2.7 support. You can work around it like this:

$ easy_install -U setuptools
$ python -m easy_install pymongo

To upgrade do:

$ python -m easy_install -U pymongo
share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.