
The unittest
module is part of Python’s standard library for a long time. So in most cases, there’s no need to install it using something like pip install unittest
. Simply run import unittest
in your Python code and it works without installation.
In your Python code:
import unittest
If you try to pip install
it, you’ll get the following error Could not find a version that satisfies the requirement unittest
that you can fix by not installing it in the first place (it already is)!
PS C:\Users\xcent> pip install unittest ERROR: Could not find a version that satisfies the requirement unittest (from versions: none) ERROR: No matching distribution found for unittest
👉 Recommended Tutorial: How to Check ‘unittest
‘ Package Version in Python?
Feel free to also check out our full guide on the PyTest framework which is great for testing purposes too!
Python 2 Backport UnitTest2
If you’re using Python 2, you can try installing the unittest2
package that is a backport for unit testing in Python 2.7. Then
pip install unittest2
Then add the following line to your Python code instead of import unittest
:
import unittest2
Legacy Solutions to Install UnitTest Module
For some very old Python versions, you may want to try this approach:
Quick Fix: Python raises the ImportError: No module named 'unittest'
when it cannot find the library unittest
. The most frequent source of this error is that you haven’t installed unittest
explicitly with pip install unittest
. Alternatively, you may have different Python versions on your computer, and unittest
is not installed for the particular version you’re using.
To fix this error, you can run the following command in your Windows shell:
$ pip install unittest
This simple command installs unittest
in your virtual environment on Windows, Linux, and MacOS. It assumes that your pip
version is updated. If it isn’t, use the following two commands in your terminal, command line, or shell (there’s no harm in doing it anyways):
$ python -m pip install --upgrade pip $ pip install pandas
💡 Note: Don’t copy and paste the $
symbol. This is just to illustrate that you run it in your shell/terminal/command line.
The error might persist even after you have installed the unittest
library. This likely happens because pip
is installed but doesn’t reside in the path you can use. Although pip
may be installed on your system the script is unable to locate it. Therefore, it is unable to install the library using pip
in the correct path.
To fix the problem with the path in Windows follow the steps given next.
Step 1: Open the folder where you installed Python by opening the command prompt and typing where python

Step 2: Once you have opened the Python
folder, browse and open the Scripts
folder and copy its location. Also verify that the folder contains the pip
file.

Step 3: Now open the Scripts
directory in the command prompt using the cd
command and the location that you copied previously.

Step 4: Now install the library using pip install unittest
command. Here’s an analogous example:

After having followed the above steps, execute our script once again. And you should get the desired output.
Other Solution Ideas
- The
ModuleNotFoundError
may appear due to relative imports. You can learn everything about relative imports and how to create your own module in this article. - You may have mixed up Python and pip versions on your machine. In this case, to install
unittest
for Python 3, you may want to trypython3 -m pip install unittest
or evenpip3 install unittest
instead ofpip install unittest
- If you face this issue server-side, you may want to try the command
pip install --user unittest
- If you’re using Ubuntu, you may want to try this command:
sudo apt install unittest
- You can check out our in-depth guide on installing
unittest
here. - You can also check out this article to learn more about possible problems that may lead to an error when importing a library.
Understanding the “import” Statement
import unittest
In Python, the import
statement serves two main purposes:
- Search the module by its name, load it, and initialize it.
- Define a name in the local namespace within the scope of the
import
statement. This local name is then used to reference the accessed module throughout the code.
What’s the Difference Between ImportError and ModuleNotFoundError?
What’s the difference between ImportError
and ModuleNotFoundError
?
Python defines an error hierarchy, so some error classes inherit from other error classes. In our case, the ModuleNotFoundError
is a subclass of the ImportError
class.
You can see this in this screenshot from the docs:

You can also check this relationship using the issubclass()
built-in function:
>>> issubclass(ModuleNotFoundError, ImportError) True
Specifically, Python raises the ModuleNotFoundError
if the module (e.g., unittest
) cannot be found. If it can be found, there may be a problem loading the module or some specific files within the module. In those cases, Python would raise an ImportError
.
If an import statement cannot import a module, it raises an ImportError
. This may occur because of a faulty installation or an invalid path. In Python 3.6 or newer, this will usually raise a ModuleNotFoundError
.
Related Videos
The following video shows you how to resolve the ImportError
:
The following video shows you how to import a function from another folder—doing it the wrong way often results in the ModuleNotFoundError
:
Here’s a full guide on how to install a library on PyCharm.

While working as a researcher in distributed systems, Dr. Christian Mayer found his love for teaching computer science students.
To help students reach higher levels of Python success, he founded the programming education website Finxter.com that has taught exponential skills to millions of coders worldwide. He’s the author of the best-selling programming books Python One-Liners (NoStarch 2020), The Art of Clean Code (NoStarch 2022), and The Book of Dash (NoStarch 2022). Chris also coauthored the Coffee Break Python series of self-published books. He’s a computer science enthusiast, freelancer, and owner of one of the top 10 largest Python blogs worldwide.
His passions are writing, reading, and coding. But his greatest passion is to serve aspiring coders through Finxter and help them to boost their skills. You can join his free email academy here.