Python 3: ImportError No Module named Setuptools

Python 3: ImportError No Module named Setuptools

Your file needs setuptools. Some Python packages used to use distutils for distribution, but most now use setuptools, a more complete package. Here is a question about the differences between them.

To install setuptools on Debian:

sudo apt-get install python3-setuptools

For an older version of Python (Python 2.x):

sudo apt-get install python-setuptools

EDIT: Official setuptools dox page:

If you have Python 2 >=2.7.9 or Python 3 >=3.4 installed from, you will already have pip and setuptools, but will need to
upgrade to the latest version:

On Linux or OS X:

pip install -U pip setuptools 

On Windows:

python -m pip install -U pip setuptools

Therefore the rest of this post related to Distribute is obsolete (e.g. some links dont work).

EDIT 2022-02-04

From Python 3.10 Distutils is deprecated and will be removed in Python 3.12 – use setuptools:

The entire distutils package is deprecated, to be removed in Python 3.12. Its functionality
for specifying package builds has already been completely replaced by
third-party packages setuptools and packaging …

Distribute (deprecated)

Distribute – is a setuptools fork which offers Python 3 support. Installation instructions for distribute(setuptools) + pip:

curl -O
easy_install pip

Similar issue here.

UPDATE: Distribute seems to be obsolete, i.e. merged into Setuptools: Distribute is a deprecated fork of the Setuptools project. Since the Setuptools 0.7 release, Setuptools and Distribute have merged and Distribute is no longer being maintained. All ongoing effort should reference the Setuptools project and the Setuptools documentation.

You may try with instructions found on setuptools pypi page (I havent tested this, sorry 🙁 ):

wget -O - | python
easy_install pip

Python 3: ImportError No Module named Setuptools

Make sure you are running the latest version of pip

I tried to install Ansible and it failed with

ModuleNotFoundError: No module named setuptools_rust

python3-setuptools was already in place, so upgrading pip solved it.

pip3 install -U pip

Leave a Reply

Your email address will not be published. Required fields are marked *