No module named pkg_resources
July 2018 Update
Most people should now use
pip install setuptools (possibly with
Some may need to (re)install the
python-setuptools package via their package manager (
yum install, etc.).
This issue can be highly dependent on your OS and dev environment. See the legacy/other answers below if the above isn't working for you.
This error message is caused by a missing/broken Python
setuptools package. Per Matt M.'s comment and setuptools issue #581, the bootstrap script referred to below is no longer the recommended installation method.
The bootstrap script instructions will remain below, in case it's still helpful to anyone.
I encountered the same
ImportError today while trying to use pip. Somehow the
setuptools package had been deleted in my Python environment.
To fix the issue, run the setup script for
wget https://bootstrap.pypa.io/ez_setup.py -O - | python
(or if you don't have
wget installed (e.g. OS X), try
curl https://bootstrap.pypa.io/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.
sudo apt-get install --reinstall python-pkg-resources
fixed it for me in Debian. Seems like uninstalling some .deb packages (twisted set in my case) has broken the path python uses to find packages
I have seen this error while trying to install rhodecode to a virtualenv on ubuntu 13.10. For me the solution was to run
pip install --upgrade setuptoolspip install --upgrade distribute
before I run easy_install rhodecode.