Modulenotfounderror: no module named ‘mock’ [SOLVED]

In this solving an error message in Python tutorial, we will learn how to solve the problem modulenotfounderror: no module named ‘mock’.

As most of us know, Python is a popular programming language that is flexible and used for developing a wide range of applications.

However, we cannot avoid encountering problems while running a program.

One of these problems is the error modulenotfounderror: no module named ‘mock’. So what we are going to show you here is how to solve that.

But before that, you might want to know what a mock module is.

What is a mock module?

The mock module is a library in Python for testing.

This module is advantageous for testing codes that depend on external libraries.

In addition, the mock module allows users to change parts of your code with mock objects, which imitate the primary object.

How to solve “no module named ‘mock’” in Python

The following are the steps on how to resolve the error message modulenotfounderror: no module named ‘mock’ in Python.

  1. Check if the ‘mock’ module is installed.

    The first step is to check if the mock module is installed in your Python environment.

    To check, open the cmd or command prompt, then type the command:

    pip list command

    The command pip list will show you the list of installed modules in your Python environment.

    Moving on, if the mock module is not found, move to the next step.

  2. Install the ‘mock’ module.

    If the mock module is not found in your Python environment, install it.

    To install, input the command:

    pip install mock - modulenotfounderror: no module named 'mock'

    The command pip install mock will download and install the latest version of the mock module in Python.

Tip: You can verify if the mock module is installed correctly by running the import mock command.

However, if the same error still exists after installing it, try the following:

  • If it is correctly installed but the error still exists, try to upgrade it.

    To do so, input the following command:

    pip install –upgrade mock

    The command pip install –upgrade mock will upgrade the mock module to its latest version.

    If your mock module is already the latest version, this will come out: “requirement already satisfied.”

Note: If you get an error message stating that “pip” cannot be found, use the command python -m.

It will look like this: python -m pip install mock.

Diagnostic checklist for “No module named ‘mock'”

  • Verify pip install target. Run pip show mock — if not installed, run pip install mock.
  • Check the active Python interpreter. which python (mac/Linux) or where 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 PyPDF2 not import pypdf2.
  • Rule out the pip-vs-package-name mismatch. Some packages install under a different name than you import (e.g. pip install beautifulsoup4import bs4).

Installing mock

# Standard pip install
pip install mock

# In a virtual environment (recommended)
python -m venv .venv
source .venv/bin/activate  # or .venv\Scripts\activate on Windows
pip install mock

# With uv (faster alternative)
uv pip install mock

Common causes for “No module named ‘mock'”

  • Python interpreter mismatch. Multiple Python installations can confuse pip. Verify with which python and which 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 mock inside 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 install to invoke pip via the correct Python.

Working code example

# Verify install worked
import mock
print(getattr(mock, '__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.txt makes your setup reproducible.
  • Consider uv or Poetry. Modern package managers with better dep resolution and reproducibility.

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, the error modulenotfounderror: no module named ‘mock’ can be easily solved by:

Checking if the mock module is installed in your Python environment and, if not, by installing it.

By following the guide above, there’s no doubt that you’ll be able to resolve this error quickly.

We hope you’ve learned something from this.

Thank you for reading!

Elijah Galero


Programmer & Technical Writer at PIES IT Solution

Elijah Galero is a programmer and writer at PIES IT Solution, author of 175+ tutorials at itsourcecode.com. Specializes in Python error debugging (AttributeError, TypeError, ModuleNotFoundError), Python programming tutorials, and Microsoft Excel how-to guides for BSIT students and productivity learners.

Expertise: Python · Python Errors · Python AttributeError · Python TypeError · ModuleNotFoundError · MS Excel · MS PowerPoint
 · View all posts by Elijah Galero →

Leave a Comment