ModuleNotFoundError: No module named ‘setuptools’ in Python

Have you ever come across an error message that says “ModuleNotFoundError: No module named ‘setuptools'”? This error occurs when the setuptools package is not installed in your Python environment. In this article, we will take a closer look at this error and provide you with several solutions to fix it.

Understanding the Error

The “ModuleNotFoundError: No module named ‘setuptools'” is a common error that occurs when you try to use a module (or package) that is not installed in your Python environment. In this case, the missing module is the setuptools package. Setuptools is a package that helps developers to package, distribute, and install Python programs. It is often used in conjunction with other packages such as pip, which is a package installer for Python.

Solution 1 – Installing setuptools

The first solution is to install the setuptools package. You can do this by running the following command in your terminal:

python3 -m pip install --upgrade setuptools

This command installs the latest version of setuptools in your Python environment. If you are using Linux or MacOS, use the following command:

python3 -m pip install --upgrade pip setuptools wheel

If you are on Windows, use the following command:

py -m pip install --upgrade pip setuptools wheel

[Fixed]: ModuleNotFoundError: No module named ‘xgboost’ in Python

Solution 2 – Uninstalling and Reinstalling setuptools

If the first solution doesn’t work, you can try uninstalling and reinstalling setuptools. To uninstall setuptools, use the following command:

pip3 uninstall setuptools

Then, to reinstall setuptools, use the following command:

pip3 install setuptools

If you don’t have pip set up in PATH, use this command instead:

python3 -m pip install setuptools

Solution 3 – Upgrading setuptools

Another solution is to upgrade the version of setuptools. To upgrade setuptools, use the following command:

pip3 install setuptools --upgrade

If you don’t have pip set up in PATH, use this command instead:

python3 -m pip install setuptools --upgrade

Solution 4 – Using the get-pip script

An alternative solution is to use the official get-pip script to install setuptools. You can download the script from the following link: https://bootstrap.pypa.io/get-pip.py

Once you have downloaded the script, open your terminal in the location where the get-pip.py file is downloaded and run the following command:

python get-pip.py

If you are using Python 3, use this command instead:

python3 get-pip.py

On Windows, use this command:

py get-pip.py

The get-pip.py script installs or upgrades pip and installs setuptools and wheel if they aren’t installed already.

Solution 5 – Creating a Virtual Environment

Another solution to the “ModuleNotFoundError: No module named ‘setuptools'” error is to create a virtual environment. The venv module, which is available by default in Python 3.3 and later, installs pip and setuptools into the created virtual environment. To create a virtual environment, use the following command:

python3 -m venv venv

This command creates a virtual environment called “venv” that uses the version of Python that was used to create it. To activate the virtual environment on Unix or MacOS, use this command:

source venv/bin/activate

On Windows (cmd.exe), use this command:

venv\Scripts\activate.bat

On Windows (PowerShell), use this command:

venv\Scripts\Activate.ps1

Once you have activated the virtual environment, you can install the modules in your requirements.txt file using the following command:

pip install -r requirements.txt

If the command python3 -m venv venv doesn’t work, try the following 2 commands:

python -m venv venv
py -m venv venv

Conclusion on “ModuleNotFoundError: No module named ‘setuptools’ in Python”

In conclusion, the “ModuleNotFoundError: No module named ‘setuptools'” error can be resolved by installing, uninstalling, upgrading or reinstalling the setuptools package, using the get-pip script, or creating a virtual environment. By trying out these solutions, you will be able to fix the error and continue working on your Python project without interruption.

Leave a Reply