In this article, we will discuss the solutions to solve the error no module named distutils.cmd which is experience of several python programmers.
Also read the other solve error: Modulenotfounderror no module named conf [SOLVED]
Why the modulenotfounderror no module named ‘distutils.cmd’ Occurs?
The modulenotfounderror no module named ‘distutils.cmd’ occurs if you run the python script without installing the “distutils” module in your python library.
However it is installed the distutils yet it’s installed in an incorrect PATH environment variable.
If you trying to import the distutils module then your python interpreter cannot find it on your system then you will get the ModuleNotFoundError.
For example you import like this:
from distutils import distutils.cmdThen the output will be following below:
ModuleNotFoundError: no module named distutils.cmd
Common reasons why this error may occur:
- Missing module: The distutils.cmd module it should be missing from your Python library installation. This it will happen when you are using an older version of Python which is haven’t include in this module, or when the module was accidentally uninstall or removed.
- Incorrect installation: When you have recently installed Python or a module that uses distutils.cmd, it is possible that the installation was not completed successfully or it does not installed in the correct path environment location.
- Virtual environment issue: If you are running in a virtual environment, it is possible that the distutils.cmd module is haven’t installed in the virtual environment or it is installed in a different version of Python which is doesn’t used by the virtual environment.
How to solve the modulenotfounderror no module named ‘distutils.cmd’?
Time needed: 2 minutes
To solve the modulenotfounderror no module named ‘distutils.cmd’ error with the following solutions below:
- Solution 1: Installation of the distutils module in windows
The first solution is to install the distutils module in your python library. To install the “distutils” module is the most suitable option. Use a package manager, which is the “pip” command to install the required module library.
Here is the following command:
pip install distutils - Solution 2: Installation of the distutils module in Anaconda
Here is the following command to install the distutils module in Anaconda:
conda install distutils - Solution 3: Installation of the distutils module for Ubuntu / Debian
Here is the following command to install the distutils module in Ubuntu / Debian:
sudo apt-get install python3.9-distutils
Other Solutions to solve the error
When the error “modulenotfounderror: no module named distutils.cmd,” still persists, your Python script should be using a different version of “distutils” rather than the one you are using.
To resolve this error, you need to uninstall the “distutils” module and reinstall it using “pip” command or “conda” command for the Python version your script is using.
Solution 1: Uninstall the “distutils” module
Here is the following command to uninstall:
pip uninstall distutilsSolution 2: Reinstall the “distutils” module
Here is the example command to reinstall for the specific version:
pip install distutils==3.7Diagnostic checklist for “No module named ‘distutils'”
- Verify pip install target. Run
pip show distutils— if not installed, runpip install distutils. - Check the active Python interpreter.
which python(mac/Linux) orwhere python(Windows). Both pip and python must point to the same environment. - Check virtual environment activation. If you use venv/conda, activate before installing:
source .venv/bin/activate. - Rule out uppercase/lowercase. Python imports are case-sensitive:
import PyPDF2notimport pypdf2. - Rule out the pip-vs-package-name mismatch. Some packages install under a different name than you import (e.g.
pip install beautifulsoup4→import bs4).
Installing distutils
# Standard pip install pip install distutils # In a virtual environment (recommended) python -m venv .venv source .venv/bin/activate # or .venv\Scripts\activate on Windows pip install distutils # With uv (faster alternative) uv pip install distutils
Common causes for “No module named ‘distutils'”
- Python interpreter mismatch. Multiple Python installations can confuse pip. Verify with
which pythonandwhich pip. - Virtual environment not activated. If the venv isn’t activated, pip installs to your system Python instead.
- Notebook kernel mismatch. Jupyter uses a kernel that may differ from your terminal Python. Use
%pip install distutilsinside the notebook. - Import name differs from install name. pip install beautifulsoup4 → import bs4. Check the package’s PyPI page.
- Windows PATH issues. Ensure Python is on PATH; use
python -m pip installto invoke pip via the correct Python.
Working code example
# Verify install worked import distutils print(getattr(distutils, '__version__', 'no version attribute'))
Best practices
- Always use a virtual environment. Avoids most module-not-found errors.
- Use pip freeze to lock versions.
pip freeze > requirements.txtmakes your setup reproducible. - Consider uv or Poetry. Modern package managers with better dep resolution and reproducibility.
Official documentation
Frequently Asked Questions
What is Python ModuleNotFoundError and what causes it?
ModuleNotFoundError (a subclass of ImportError) is raised when Python cannot find the module you tried to import. Common causes: the package isn’t installed (pip install missing), wrong virtual environment activated, typo in module name, or Python can’t find your local module on the import path. The error message names exactly which module is missing.
How do I fix ‘ModuleNotFoundError: No module named X’?
Run pip install X first. If that succeeds but you still get the error, check which Python you’re using (which python OR python –version) vs which pip (which pip OR pip –version), they must match. Common gotcha: pip points to system Python 3.9 but you’re running python3.11 in a venv. Inside the venv, use python -m pip install X to be sure pip matches the active Python.
Why does my code work in one environment but not another?
Different Python versions or different installed packages. To diagnose: pip freeze > requirements.txt on the working environment, then pip install -r requirements.txt on the broken one. Use virtualenv (python -m venv venv) or conda for every project to avoid system-wide package collisions.
Is ModuleNotFoundError the same as ImportError?
ModuleNotFoundError is a subclass of ImportError added in Python 3.6. It specifically means ‘no such module exists.’ Plain ImportError covers a wider set: module exists but a name inside it can’t be imported (e.g. ‘cannot import name X from Y’). except ImportError catches both; except ModuleNotFoundError catches only the missing-module case.
Where can I find more ModuleNotFoundError fixes?
Browse the ModuleNotFoundError reference hub for 198+ specific module fixes (TensorFlow, Flask, Django, pandas, numpy, etc.). For related issues see ImportError. For broader Python setup see Python Tutorial hub.
Conclusion
In conclusion, I hope one of these solutions above will help you resolve the “ModuleNotFoundError: no module named distutils.cmd” error.
