How to Fix the “ImportError: No Module Named” in Python?

How to fix SyntaxError missing parentheses in call to print

Are you trying to import a library or module to utilize the built-in functionalities of Python, but facing the ImportError no module named “Name of the module”?

In this article, I will guide you through the ImportError, explaining why it occurs and how one can fix the “ImportError: no module named” error message when developing with the Python programming language.

This ImportError is one of the most common errors in Python that you might face while utilizing the built-in packages, libraries, and modules of Python. We all know Python has one of the richest repositories 🗂️ with many libraries and packages.

You can utilize all those functionalities, but first, you have to download and install it into your local machine and then import it into your program with the help of the famous import keyword.



What is the “ImportError No Module Named” Error in Python?

Using the import keyword, you can use the basic modules, libraries, and packages in Python. However, when you need to utilize the advanced functionalities of Python, you have to download it externally and install it onto your local machines to use them accordingly.

Let’s see an example of the ImportError in Python:

import scrapy



ModuleNotFoundError: No module named 'scrapy'


As you can see in the above line of code, we are trying to import scrapy library, but it is giving us the error ModuleNotFoundError no module named scrapy. And the reason behind this error is that we haven’t installed it or the library’s name is invalid.

If you are using Python 2x versions, you may get this error, ImportError: No module named ‘scrapy’, which was later replaced in Python 3x versions with ModuleNotFoundError: No module named ‘scrapy’.

So let’s install it first and then see how it works.



How to Fix the “ImportError No Module Named” Error in Python?

We have just understood the error and why it occurs now; let’s fix the Python Error ImportError no module named.

To fix this, you have to first install the specific package or library using your Terminal or Command Line Interface (CLI) as follows;

pip install scrapy

Fix the ImportError no module named error in Python


Alternatively, if you are using anaconda, you can follow this command also.

conda install -c conda-forge scrapy


Now we have successfully installed the scrapy library, let’s import it into our current program and see how it works out there.

The above solution was for the Windows operating system (OS). However, there are a few other options to download and install scrapy on different operating systems, which you can follow according to your operating system (OS).

For Ubuntu 14.04 or above, you can use this command

sudo apt-get install python3 python3-dev python3-pip libxml2-dev libxslt1-dev zlib1g-dev libffi-dev libssl-dev


If you are using macOS, you can use this command

Xcode-select --install


Once you are done with the installation part, it is always a good idea to do a test run of the package or library before getting into the actual implementation of the program.

Let’s check the version of the library we have installed:

import scrapy

print("The version of scrapy is: ", scrapy.version)


The version of scrapy is: 2.6.2


Congratulations! Everything works perfectly, and you can utilize scrapy throughout your Python program.




To summarize the article, we have discussed the ImportError in Python, why it occurs, and how you can fix the “ImportError no module named” error in Python. Lastly, we discussed installing any library or package on different operating systems, including macOS and Ubuntu, through the Command Line Interface (CLI).

A quick recap of the topics discussed in the article

  1. What is ImportError no module named in Python?
  2. How to fix the Python error ImportError no module named?

A quick question, where does pip install and download packages, libraries, and modules from?

Leave a Reply

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

Related Posts