July 2018 Update
Most people should now use pip install setuptools (possibly with sudo).
Some may need to (re)install the python-setuptools package via their package manager (apt-get install, 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.
Explanation
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.
Legacy Answer
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 setuptools:
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
possibly with sudo prepended.)
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.
July 2018 Update
Most people should now use pip install setuptools (possibly with sudo).
Some may need to (re)install the python-setuptools package via their package manager (apt-get install, 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.
Explanation
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.
Legacy Answer
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 setuptools:
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
possibly with sudo prepended.)
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
Impossible to get pkg_resources on Windows?
`pkg_resources` is deprecated and removed in Python 3.12
Pip3 not working - No module named 'pkg_resources' - Software - Haiku Community
Can't run pip: ModuleNotFoundError: No module named 'pkg_resources', setuptools is installed
Do you have all of the dependencies for python3-setuptools? In particular do you have python3-packaging installed? If you open yast and select "Dependencies > Check Now" does it say "All package dependencies are OK."?
the directory pkg_resources should be in /usr/lib/python3.8/site-packages
I am running on Windows Powershell. I know, it sucks, but it is what I am stuck with.
I have installed python 3.14 from the python.org website. When I run python and run "import setuptools", it works. When I check the version of setuptools, it is 82.0.0. No problems there.
But pkg_resources will not import. Specifically, "import pkg_resources" always fails.
I have reinstalled using --force-reinstall, I have downloaded the setuptools wheel file, none of that works. It just will not recognize pkg_resources.
Is there no pkg_resources file for Windows? Or what on earth is going on here? Every guide I read just keeps repeating that I should reinstall, but I have done that, multiple times, from multiple sources.
pkg_resources is a dependency of setuptools. Open the terminal and type:
sudo apt install --reinstall python3-pkg-resources python3-setuptools
It's also related to pip installation module. You can also use python upgrade scripts. Related issue on GitHub : import error Issue ‘s about wrong importation from python 2.x modules versions which overlap with python3 dependencies. So the goal’s to upgrade pip. The best solution’s to install an upgraded OS for instance Bionic distribution and Do:
pip3 install --upgrade setuptools pip
Edit: Problem solved The packages python3 python3-base and python3-devel were installed from the Leap 15.1 Repo and there was a file conflict with the python38 package from the "Main Repository (OSS)" Repo.
I did a zypper rm python3 python3-base python3-devel to remove the packages from the Leap 15.1 Repo and force installed python38, python38-base and python38-devel to install the correct packages again without any file conflicts.
I still don't know whether i should even have the Leap 15.1 Repo though ...
I have disabled the repo now.
---Original Post---
Hello,
when i want to execute any pip command (including just invoking pip without any args) i get the following error:
$ pip
Traceback (most recent call last):
File "/usr/bin/pip", line 6, in <module>
from pkg_resources import load_entry_point
ModuleNotFoundError: No module named 'pkg_resources'I already searched and often when people got this error it was due to a missing setuptools package.
But python3-setuptools is installed via zypper. And pip is the one from python 3.
When i start python3 and run help("modules") many modules are listed but setuptools isn't among them, yet /usr/lib/python3.8/site-packages/setuptools exists and is not empty.
Not sure if related, but i also can't start lutris(also installed with zypper):
$ lutris
Unable to load locale dir, translations won't work.
Traceback (most recent call last):
File "/usr/bin/lutris", line 54, in <module>
from lutris.gui.application import Application # pylint: disable=no-name-in-module
ModuleNotFoundError: No module named 'lutrisI don't really know anything about python except the few commands i found while searching for a solution, any help would be appreciated :)
edit: im running tumbleweed on the latest snapshot, but this issue has been present for at least a week.
I got this error when trying to build my love2d game with makelove: * Executing task: C:\Users\Eli\AppData\Local\Programs\Python\Python312\Scripts\makelove.exe --config make_all.toml
Traceback (most recent call last):
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "C:\Users\Eli\AppData\Local\Programs\Python\Python312\Scripts\makelove.exe\__main__.py", line 4, in <module>
File "C:\Users\Eli\AppData\Local\Programs\Python\Python312\Lib\site-packages\makelove\makelove.py", line 11, in <module>
import pkg_resources
ModuleNotFoundError: No module named 'pkg_resources'
* The terminal process "C:\Users\Eli\AppData\Local\Programs\Python\Python312\Scripts\makelove.exe '--config', 'make_all.toml'" terminated with exit code: 1.
* Terminal will be reused by tasks, press any key to close it.
How do i fix this?