How to fix the module not found import error for urllib2?

In today’s post we would like to show how to easily fix error messages when importing the urllib2 library. The solution is pretty much applicable to any Python development tool of choice: Jupyter Notebook, PyChram, Visual Studio IDE and so forth.

What is urllib2?

Urllib2 is a Python library that works alongside Python2.X versions. It serves a similar purpose that the requests module, which allows Python to easily open and parse URL addresses mainly through the ubiquitous HTTP protocol.

Troubleshooting the modulenotfound error for urllib2

You get an import error when you try to use a module that is not part of the Python standard library and is not yet installed in your Python environment.

See below the error screenshot when using Jupyter Lab:

In Python 3 the original urllib2 package is replaced by urllib, which in turn includes several modules such as:

  • urllib.error
  • urllib.request
  • urllib.parse

So basically, if you are programming on Python 3.X, you can easily troubleshoot the no module found error for urllib2, by using the following import statement (import the modules you need):

import urllib.request as urllib2
import urllib.error
import urllib.parse

Errors when using PIP

Couple of folks pointed me to the following errors they got when trying to PIP install urlib.request using the Python package installer (known as PIP). The root cause of the errors is that urllib.request is part of the Python 3.X standard package and not being delivered as an addon package through PIP.

  • ERROR: Could not find a version that satisfies the requirement urllib2 (from versions: none)
  • ERROR: No matching distribution found for urllib2