Sentry Answers>Python>

Resolve Python ImportError: No module named ...

Resolve Python ImportError: No module named ...

David Y.

The Problem

When I run a Python script containing the line import requests, I receive the following error:

Click to Copy
ImportError: No module named requests

I have received similar error messages for other modules. How do I resolve them?

The Solution

Python comes with a large number of built-in modules, such as os, sys, and time, which can be imported into any script without errors. However, many popular modules are developed by third parties and must be installed separately – the requests module is one example. Depending on your system, Python modules can be installed using either Python’s PIP or the system package manager.

macOS/Linux

On macOS and most Linux systems, this command will work:

Click to Copy
pip3 install requests

This will install the module at the user level, or in the current virtual environment if you’re using one. To install the package system-wide, we can use sudo:

Click to Copy
sudo pip3 install requests

On some Linux systems, installing packages with PIP will produce the following error message:

Click to Copy
error: externally-managed-environment

This message will tell you to install Python packages using the system package manager. Depending on your system, this command will look like one of the following:

  • Debian/Ubuntu: sudo apt install python3-requests
  • Fedora: sudo dnf install python-requests
  • Arch: sudo pacman -S python-requests

Python packages in the system repositories will generally have names like python-packagename or python3-packagename. Less common packages may not be available.

Windows

On Windows, we can install Python packages from the command prompt using this command:

Click to Copy
pip3 install requests

If the above command doesn’t work, PIP may not be in the system PATH and will need to be called through Python:

Click to Copy
python3 -m pip install requests
  • Sentry BlogPython Performance Testing: A Comprehensive Guide (opens in a new tab)
  • Syntax.fmListen to the Syntax Podcast (opens in a new tab)
  • Sentry BlogLogging in Python: A Developer’s Guide (opens in a new tab)
  • CodecovPython - Codecov (opens in a new tab)
  • Syntax.fm logo
    Listen to the Syntax Podcast (opens in a new tab)

    Tasty treats for web developers brought to you by Sentry. Get tips and tricks from Wes Bos and Scott Tolinski.

    SEE EPISODES

Considered “not bad” by 4 million developers and more than 150,000 organizations worldwide, Sentry provides code-level observability to many of the world’s best-known companies like Disney, Peloton, Cloudflare, Eventbrite, Slack, Supercell, and Rockstar Games. Each month we process billions of exceptions from the most popular products on the internet.