I just updated Python to 2.6.4 on my Mac. I installed from the dmg package.
The binary did not seem to correctly set my Python path, so I added
>>> pprint.pprint(sys.path) ['', '/Users/Bryan/work/django-trunk', '/usr/local/lib/python2.6/site-packages', '/Library/Frameworks/Python.framework/Versions/2.6/lib/python26.zip', '/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6', '/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-darwin', '/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-mac', '/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-mac/lib-scriptpackages', '/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-tk', '/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-old', '/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-dynload', '/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages']
Apparently that is not all the required paths because I can't run iPython.
$ ipython Traceback (most recent call last): File "/usr/local/bin/ipython", line 5, in <module> from pkg_resources import load_entry_point ImportError: No module named `pkg_resources`
I've done Google searches and I can't really figure out how to install
pkg_resources or make sure it's on the path.
What do I need to do to fix this?
[UPDATE 2] As announced at PyCon 2013, the
setuptools projects have re-merged.
Distribute is now deprecated and you should just use the new current
setuptools. Try this:
curl -O https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py python ez_setup.py
Or, better, use a current
pip as the high level interface and which will use
setuptools under the covers.
[Longer answer for OP's specific problem]:
You don't say in your question but I'm assuming you upgraded from the Apple-supplied Python (2.5 on 10.5 or 2.6.1 on 10.6) or that you upgraded from a python.org Python 2.5. In any of those cases, the important point is that each Python instance has its own library, including its own site-packages library, which is where additional packages are installed. (And none of them use
/usr/local/lib by default, by the way.) That means you'll need to install those additional packages you need for your new python 2.6. The easiest way to do this is to first ensure that the new python2.6 appears first on your search
$PATH (that is, typing
python2.6 invokes it as expected); the python2.6 installer should have modified your
.bash_profile to put its framework bin directory at the front of
$PATH. Then install
easy_install using setuptools following the instructions there. The
pkg_resources module is also automatically installed by this step.
Then use the newly-installed version of
pip) to install
pip install ipython
It should automatically get installed to the correct
site-packages location for that python instance and you should be good to go.
I encountered the same
ImportError. Somehow the
setuptools package had been deleted in my Python environment.
To fix the issue, run the setup script for
curl https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py | python
If you have any version of
distribute, or any
setuptools below 0.6, you will have to uninstall it first.*
See Installation Instructions for further details.
* If you already have a working
distribute, upgrading it to the "compatibility wrapper" that switches you over to
setuptools is easier. But if things are already broken, don't try that.