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.
What is the difference between ImportError and ModuleNotFoundError?
This trips up almost every Python developer:
ModuleNotFoundError = the whole package isn’t installed. import requests when requests isn’t pip-installed. Fix with pip install requests. We have a separate ModuleNotFoundError reference (198+ posts).
ImportError = the package IS installed, but a specific name/sub-module within it can’t be imported. 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.
How to fix any ImportError in 4 steps
Read the exact name and source module in quotes. The error has two parts: what you tried to import and which module it should be in. Example: ImportError: cannot import name 'parse_rule' from 'werkzeug.routing', the name is parse_rule, the module is werkzeug.routing.
Check the installed version of the source library. Run pip show . Note the version number.
Check when the name was added or removed. Look at the library’s CHANGELOG.md, GitHub release notes, or PyPI page. Often a function/class was removed in a major version (e.g., Werkzeug 2.0+ removed many internal helpers).
Pin the working version or update your import. Two paths: (a) Downgrade to the version that has the name: 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.
Most common ImportError patterns (in order of frequency)
Library version conflict: name was removed/renamed in a newer version (60%+ of errors here)
Python 2 → 3 migration: collections.Mapping moved to collections.abc.Mapping in Python 3.10
Sub-package reorganization: sklearn moved many internals out of sklearn.externals
Library reorg between versions: Flask, Werkzeug, Jinja2 frequently move internal helpers
Beta or development imports: trying to use features from main branch that aren’t in your installed version
Circular imports: your own code structure has two modules that import each other
DLL load failed: binary dependency (numpy, scipy) needs system library installed
Featured ImportError fixes by source library
🐍 Werkzeug / Flask / Jinja2 (web framework family)
Werkzeug 2.0+ moved many internal helpers. Flask 2.0+ moved imports. Jinja2 3.1+ removed deprecated names.
cannot import name ‘parse_rule’ from ‘werkzeug.routing’
cannot import name ‘cached_property’ from ‘werkzeug’
cannot import name ‘environmentfilter’ from ‘jinja2’
cannot import name ‘escape’ from ‘jinja2’
cannot import name ‘url’ from ‘django.conf.urls’ (Django 4.0+)
🤖 Machine Learning (TensorFlow, PyTorch, sklearn, torchmetrics)
ML libraries reorganize internals frequently between major versions.
cannot import name ‘container_abcs’ from ‘torch._six’
cannot import name ‘get_num_classes’ from ‘torchmetrics’
cannot import name ‘get_config’ from ‘tensorflow’ (eager context)
cannot import name ‘joblib’ from ‘sklearn.externals’
cannot import name ‘safe_weights_name’ from ‘transformers’
numba needs numpy 1.21 or less
🗄️ Database & SQLAlchemy
cannot import name ‘_rfc_1738_quote’ from ‘sqlalchemy.engine.url’
cannot import name ‘bigquery’ from ‘google.cloud’
cannot import name ‘CompilationException’ from ‘dbt.exceptions’
🐍 Python stdlib / typing / collections
Python 3.10+ moved many names between standard library locations. Older code breaks.
cannot import name ‘Mapping’ from ‘collections’ (Py3.10+)
cannot import name ‘TypeAlias’ from ‘typing’ (Py3.10+)
cannot import name ‘ParamSpec’ from ‘typing_extensions’
📦 setuptools / pip / packaging
cannot import name ‘Feature’ from ‘setuptools’, Quick Fixes
cannot import name ‘_unicodefun’ from ‘click’
🔁 Relative imports / circular imports / test modules
attempted relative import beyond top-level package
ImportError while importing test module
Failed to import test module
⚙️ Binary / DLL / native library load failures
Errors at the C-extension level, numpy, scipy, OpenCV, or system libraries.
numpy.core.multiarray failed to import
ImportError: dlopen
Failed to find libmagic, check your installation
Initialization failed (TensorFlow)
Unable to import required dependencies (numpy)
lxml not found, please install it
2026 Updated Guides: featured ImportError fixes
Failed to find libmagic, Quick Fixes: python-magic install
cannot import name ‘Feature’ from ‘setuptools’: setuptools migration
ImportError: dlopen: macOS native library load
Related error categories
ImportError is one of 10 hubs in our Python & JavaScript error reference cluster, 980+ documented fixes total. If your error isn’t an ImportError, jump to the right hub below:
TypeError Reference, 220+ Python & JS TypeError fixes
ModuleNotFoundError Reference, 198+ “No module named X” install errors
AttributeError Reference, 173+ “object has no attribute X” fixes
ValueError Reference, 100+ library-specific Python ValueError fixes
NameError Reference, 49+ Python “name X is not defined” fixes
RuntimeError Reference, 49+ PyTorch CUDA, asyncio, Flask runtime errors
SyntaxError Reference, 48+ Python & JavaScript parsing errors
ReferenceError Reference, 34+ JavaScript “is not defined” fixes
HTTP Error Reference, 35+ HTTP status code fixes
Python Tutorial, beginner-to-intermediate Python lessons
About this ImportError reference
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 …