Importerror: no module named boto3
ImportError: no module named boto3 is a common error encountered by developers when trying to import the Boto3 library in Python. In fact, Boto3 is a powerful Python library that …
itsourcecode.com hosts 67+ documented fixes for Python ImportError messages — the error class raised when a library is found but a specific name or sub-module within it can’t be imported. Almost every ImportError in modern Python comes from version conflicts: you have the library installed, but the version you have removed/renamed the specific function or class you’re trying to import. Browse the fixes below by library or scenario.
This trips up almost every Python developer:
import requests when requests isn’t pip-installed. Fix with pip install requests. We have a separate ModuleNotFoundError reference (198+ posts).from requests import nonexistent. Fix usually means upgrading or downgrading the library to the version that contains that name.ModuleNotFoundError is actually a subclass of ImportError, introduced in Python 3.6. If you catch ImportError, you catch both.
ImportError: cannot import name 'parse_rule' from 'werkzeug.routing' — the name is parse_rule, the module is werkzeug.routing.pip show <library>. Note the version number.pip install werkzeug<2.0. (b) Find the new import location: from werkzeug.routing.rules import parse_rule (or whatever the new path is). Update your code.collections.Mapping moved to collections.abc.Mapping in Python 3.10sklearn.externalsWerkzeug 2.0+ moved many internal helpers. Flask 2.0+ moved imports. Jinja2 3.1+ removed deprecated names.
ML libraries reorganize internals frequently between major versions.
Python 3.10+ moved many names between standard library locations. Older code breaks.
Errors at the C-extension level — numpy, scipy, OpenCV, or system libraries.
You’re hitting “cannot import name X from Y” — the package IS installed, but the specific name (function, class, attribute) you’re trying to import isn’t in the version you have. This is different from ModuleNotFoundError. Check the library’s release notes for when the name was added/removed/renamed, then either: (a) install the version that has it, or (b) update your import to the new location.
Python 3.10 removed deprecated imports from collections that were moved to collections.abc in Python 3.3. The deprecation warnings ran for 7 years before removal. Fix: change from collections import Mapping to from collections.abc import Mapping. The same applies to Iterable, Hashable, Callable, and other ABCs.
Flask 2.0+ requires Werkzeug 2.0+ and removed many internal helpers. If you see cannot import name X from werkzeug..., you have two options: (1) pin compatible versions in requirements.txt: Flask==2.3.2 Werkzeug==2.3.7. (2) Update your code to use the new import locations (the Werkzeug 2.0 migration guide documents most of them). Don’t try to mix old Werkzeug with new Flask or vice versa.
Two of YOUR modules import from each other, creating a chicken-and-egg problem. Module A starts loading and imports B; B tries to import something from A; A isn’t fully loaded yet → ImportError. Fix by restructuring: (1) move shared code into a third module both can import from; (2) move the import statement inside the function instead of at module top; (3) refactor to remove the circular dependency.
You used from ..parent import X in a script you ran directly with python script.py. Relative imports only work when Python knows the package structure — meaning the script must be loaded as part of a package, not run as a standalone file. Fix: run with python -m mypackage.script instead, OR use absolute imports.
ModuleNotFoundError reference (198+ posts) covers errors where the whole package isn’t installed — “No module named requests” means run pip install requests. This ImportError reference covers errors where the package IS installed but a specific name within it can’t be imported — usually a version conflict. Different root causes, different fixes. See ModuleNotFoundError reference →
New posts are added weekly. Existing posts are revised when major library versions ship breaking changes (Flask 3, Werkzeug 3, NumPy 2, etc.). This page was last refreshed in May 2026.
This ImportError reference has been built since 2015 by PIES Information Technology Solutions in Binalbagan, Negros Occidental, Philippines. Every post comes from a real error encountered in production. Used by 12,000+ Python developers monthly across the Philippines, India, the United States, and beyond. If your ImportError isn’t here, send the full traceback to our contact form and we’ll add it.
ImportError: no module named boto3 is a common error encountered by developers when trying to import the Boto3 library in Python. In fact, Boto3 is a powerful Python library that …
Have you encountered an error that reads importerror: no module named requests? Well, this error states that there is no module named “requests,” which means that the Python package “requests” …
While working with Python it is not uncommon to encounter “ImportError: unable to import required dependencies numpy”. Actually, this error could be frustrating, especially when you’re relying on the popular …
When working with handling file types, you may come across various errors. One of these is Importerror: failed to find libmagic. check your installation. This error could hinder the execution …
One error we might encounter is the Importerror no module named typing. In fact, one of the common aspects of programming is importing modules, which are pre-built collections of code …
Encountering the error message “ImportError: numpy.core.multiarray failed to import” can be frustrating and hinder progress. In fact, when working with scientific computing and data analysis in Python, the NumPy library …
When working on a Python project, you may encounter an error message that says “ImportError: No module named mysql.connector.” Therefore, this article will explore this error and provide solutions to …
When working with packages and attempting to perform relative imports, you might encounter an error that says “ImportError: attempted relative import beyond top-level package.” Knowingly, Python is a versatile programming …
The ‘ImportError: No module named pkg_resources‘ is a common error encountered by Python developers. Usually, this error typically occurs when attempting to import a module that requires the pkg_resources module, …
If you’re a Python developer working on framework that utilizes the Werkzeug library, you might come across the error Importerror: cannot import name ‘parse_rule’ from ‘werkzeug.routing’. Actually, the error typically …
When working with dbt, a popular data modeling and transformation tool, you might come across the ImportError: cannot import name ‘compilationexception’ from ‘dbt.exceptions‘ error. Apparently, this error typically indicates a …
When working with Python programming language, you may encounter an error “ImportError: Cannot Import Name ‘protocol_tls‘”. This article aims to provide an understanding of this error, its common causes, and …
ImportError: No module named YAML is one of the errors and exceptions that can hinder your code execution. Actually, it is common when working with Python programming language. So in …