Modulenotfounderror: no module named ‘flask.ext’

Encountering errors like modulenotfounderror: no module named ‘flask.ext’ in Python is common.

This error occurs when you import a Flask extension that’s been deleted from the most recent Flask release.

In this article, we will show you how to solve this error.

But before that, let’s first have a brief understanding of Python.

What is Python?

Python is one of the most popular programming languages.

It is used for developing a wide range of applications.

In addition, Python is a high-level programming language that is used by most developers due to its flexibility.

Returning to our issue, we must take a few actions to fix this error.

So, without further ado, let’s move on to our “how to fix this error” tutorial.

How to solve “no module named ‘flask.ext’” in Python

Time needed: 2 minutes

Here’s how to resolve the modulenotfounderror: no module named ‘flask.ext’ in Python.

  1. Update the Flask installation.

    Resolving the error modulenotfounderror: no module named ‘flask.ext’ is an easy task.

    All you have to do is update your Flask installation and revise your code when importing extensions from their packages.

    To update your Flask installation, input the command pip install –upgrade Flask.

    pip install --upgrade Flask - Modulenotfounderror: no module named 'flask.ext' [SOLVED]

    The command pip install –upgrade Flask will update your Flask installation to its latest version.

  2. Revise your code.

    After updating your Flask installation, revise or change your code when importing extensions right from their own packages.

    For example:

    Instead of using the code from flask.ext.bootstrap import Bootstrap to import, revise your code to from flask_bootstrap import Bootstrap.

    Another example:

    Instead of using the flask.ext.sqlalchemy extension, revise your code to from flask_sqlalchemy import SQLAlchemy.

See also: Modulenotfounderror: no module named ‘pyautogui’

Tip: After updating your Flask installation and revising your code, test your code by running your Flask application to check if there are any errors.

Commands you might need

  • pip list

    This command will display all the packages installed on your system, including their versions.

    If you’re using Jupyter Notebook, use the !pip list command.

    However, if you’re using Anaconda, use the command conda list.

  • python –version

    Use this command if you want to check what version of Python you have.

Conclusion

In conclusion, the error modulenotfounderror: no module named ‘flask.ext’ can be easily solved by updating your Flask installation and revising your code when importing extensions from their packages.

By following the guide above, there’s no doubt that you’ll be able to resolve this error quickly.

We hope you’ve learned a lot from this.

Thank you for reading!

Related Python Tutorials

Root causes of Modulenotfounderror: no module named ‘flask.ext’

  • Package not installed. The module you’re importing was never installed in the current environment. Fix: pip install <package-name>.
  • Wrong virtual environment active. You installed in one venv but running from a different environment. Verify with which python and which pip.
  • Multiple Python versions. pip installs for one Python, but you’re running a different version. Use python -m pip install <package> to force it.
  • Typo in module name. Case-sensitive imports. Beautiful_Soup vs beautifulsoup4 vs bs4. Check the actual import name in the package docs.
  • Package uninstalled or corrupted. Try pip install –force-reinstall <package> to freshen the install.

Step-by-step debugging

  1. Verify Python path. import sys; print(sys.executable) shows which Python is running.
  2. Check installed packages. pip list | grep <package> confirms it’s actually installed.
  3. Match environment. Confirm the terminal that ran pip install is the same environment your code runs in.
  4. Reinstall cleanly. pip uninstall <package> then pip install <package>.
  5. Try python -m install. python -m pip install <package> avoids PATH mismatches.

Working install pattern

# Create fresh environment (recommended for any new project)
python -m venv myenv
source myenv/bin/activate  # Windows: myenv\Scripts\activate

# Install requirements
pip install --upgrade pip
pip install <package-you-need>

# Verify install
pip list | grep <package>
python -c "import <package>; print(<package>.__version__)"

When the error persists

  • Check for typos. Module names can differ from PyPI names (opencv-python vs cv2, beautifulsoup4 vs bs4).
  • Update Python or downgrade the package. Some packages have version-specific compatibility.
  • Restart the interpreter or kernel. Jupyter and IDEs cache import state.
  • Check for conda/pip conflicts. If using Anaconda, prefer conda install <package> over pip.

Debugging Python code effectively

  • print() with context. Add variable names and types: print(f”user_id={user_id} type={type(user_id)}”)
  • pdb / breakpoint(). Call breakpoint() anywhere to drop into interactive debugger.
  • VS Code debugger. Set breakpoints in the editor, run F5, step through with F10.
  • logging over print. import logging; logging.debug() is toggleable and thread-safe for production.
  • Read full tracebacks. The bottom-most line usually shows what happened; the stack shows how you got there.

Modern Python tooling

  • uv. Ultra-fast package installer and resolver (10-100x faster than pip). Standard in 2026.
  • ruff. Fast linter + formatter (replaces flake8, black, isort in one binary).
  • mypy. Type checker. Add types incrementally to catch bugs at design time.
  • pytest. Standard test framework. Simpler than unittest.
  • rich. Beautiful terminal output for CLI tools.

Where to go next after this tutorial

  • Learn a web framework. Django for full-stack apps; FastAPI for APIs; Streamlit for data dashboards.
  • Study a data library. pandas for data analysis; polars for large-scale processing; DuckDB for embedded SQL analytics.
  • Practice with real projects. Browse itsourcecode.com Python Projects for 250+ capstone-ready systems (LLM apps, ML models, chatbots, dashboards).
  • Read PEP 20 (Zen of Python). import this in an interpreter to see 19 lines of Python philosophy.

Frequently Asked Questions

What Python version does this tutorial target?
This tutorial targets Python 3.10 or higher. Most examples work on 3.8+, but newer features (match statements, pipe union types, structural pattern matching) need 3.10+. For deep learning content, Python 3.11 is recommended for best performance.
How do I install Python for this tutorial?
Download Python 3.11 or higher from python.org. On Windows, tick ‘Add to PATH’ during install. On Mac use Homebrew (brew install python). On Linux use your package manager or pyenv for version management.
Do I need pip and virtual environments?
Yes. pip comes with Python. For any project beyond a single script, create a virtual environment: python -m venv venv, then activate and pip install dependencies. This keeps project libraries isolated.
Can I use this in a Jupyter notebook or Google Colab?
Most examples run in both. Colab is great for ML tutorials since it provides free GPU access. Jupyter is better for local iterative development. Just paste the code into a cell and run.
Where can I find more Python practice projects?
Browse itsourcecode.com Python Projects for 250+ free capstone-ready systems (sentiment analysis, image classification, chatbots, LangChain apps). Each includes full source code, dataset links, and installation instructions.

Elijah Galero


Programmer & Technical Writer at PIES IT Solution

Elijah Galero is a programmer and writer at PIES IT Solution, author of 175+ tutorials at itsourcecode.com. Specializes in Python error debugging (AttributeError, TypeError, ModuleNotFoundError), Python programming tutorials, and Microsoft Excel how-to guides for BSIT students and productivity learners.

Expertise: Python · Python Errors · Python AttributeError · Python TypeError · ModuleNotFoundError · MS Excel · MS PowerPoint
 · View all posts by Elijah Galero →

1 thought on “Modulenotfounderror: no module named ‘flask.ext’”

Leave a Comment